document_missing_exception: document_missing_exception: [_doc][id]: document missing (document introuvable)
ElasticsearchQue signifie cette erreur ?
Le document à mettre à jour (_update) est introuvable dans l'index. Une mise à jour nécessite un document existant ; si le document n'existe pas, cette exception se produit.
Cause
Le document a été supprimé auparavant, n'a jamais été créé, le mauvais _id a été utilisé, la requête est allée vers le mauvais index, ou un document écrit avec un routage personnalisé a été accédé sans routage. (GET et _update sont en temps réel ; le délai de refresh ne provoque pas cette erreur.)
Comment la corriger
Vérifiez que l'_id et l'index cible sont corrects : GET /index-name/_doc/id. Si vous souhaitez un comportement « mise à jour s'il existe / création s'il manque », utilisez upsert (ou doc_as_upsert:true) dans la requête _update. Créez directement le document avec index (PUT). Dans l'application, interceptez cette exception et basculez vers une logique d'upsert.
Autres entrées pour ce moteur
- search_phase_execution_exceptionsearch_phase_execution_exception: all shards failed / Failed to execute phase [query] (échec de la recherche sur tous les shards)
- too_many_clausestoo_many_clauses: maxClauseCount is set to 1024 (query contains too many clauses) (la requête contient trop de clauses)
- version_conflict_engine_exceptionversion_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409) (conflit de version du document)
- index_not_found_exceptionindex_not_found_exception: no such index [index_name] (HTTP 404) (index introuvable)
- resource_already_exists_exceptionresource_already_exists_exception: index [index_name/uuid] already exists (HTTP 400) (l'index existe déjà)
- cluster_health_redcluster health status: RED / unassigned shards (état du cluster RED / shards non attribués)
- no_shard_available_action_exceptionno_shard_available_action_exception: No shard available for [...] (aucun shard disponible)