document_missing_exception: document_missing_exception: [_doc][id]: document missing (Dokument fehlt)
ElasticsearchWas bedeutet das?
Das zu aktualisierende Dokument (_update) wurde im Index nicht gefunden. Ein Update erfordert ein vorhandenes Dokument; existiert es nicht, tritt diese Exception auf.
Ursache
Das Dokument wurde zuvor gelöscht, nie angelegt, die falsche _id wurde verwendet, die Anfrage ging an den falschen Index oder auf ein mit benutzerdefiniertem Routing geschriebenes Dokument wurde ohne Routing zugegriffen. (GET und _update sind Echtzeit; eine Refresh-Verzögerung verursacht diesen Fehler nicht.)
Lösung
Prüfe, ob _id und Zielindex korrekt sind: GET /index-name/_doc/id. Willst du Verhalten wie aktualisieren, falls vorhanden, sonst anlegen, verwende upsert (oder doc_as_upsert:true) in der _update-Anfrage. Lege das Dokument direkt mit index (PUT) an. Fange diese Exception in der Anwendung ab und weiche auf Upsert-Logik aus.
Weitere Einträge zu dieser Datenbank
- search_phase_execution_exceptionsearch_phase_execution_exception: all shards failed / Failed to execute phase [query] (Suche auf allen Shards fehlgeschlagen)
- too_many_clausestoo_many_clauses: maxClauseCount is set to 1024 (query contains too many clauses) (zu viele Klauseln in der Abfrage)
- version_conflict_engine_exceptionversion_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409) (Versionskonflikt)
- index_not_found_exceptionindex_not_found_exception: no such index [index_name] (HTTP 404) (Index nicht gefunden)
- resource_already_exists_exceptionresource_already_exists_exception: index [index_name/uuid] already exists (HTTP 400) (Index existiert bereits)
- cluster_health_redcluster health status: RED / unassigned shards (Clusterzustand RED / nicht zugewiesene Shards)
- no_shard_available_action_exceptionno_shard_available_action_exception: No shard available for [...] (kein Shard verfügbar)