routing_missing_exception: Routing value is required for this document (valeur de routage requise pour ce document)
ElasticsearchQue signifie cette erreur ?
Une valeur de routing est requise pour accéder au document/l'indexer, mais elle n'a pas été fournie. Sans routing, Elasticsearch n'a pas pu déterminer à quel shard appartient le document.
Cause
Le mapping de l'index définit _routing required=true ; une relation parent-join (parent/enfant) est utilisée et les documents enfants exigent un routing ; ou le paramètre routing a été omis d'une requête index/get/update/delete. Lire des documents écrits avec un routing personnalisé sans fournir ce routing est la cause typique.
Comment la corriger
Indiquez explicitement la valeur de routing dans la requête (par ex. ?routing=value dans les appels index/get/update/delete). Avec parent-join, passez l'id du parent comme routing pour les documents enfants. Utilisez pour les lectures/mises à jour/suppressions le même routing que lors de l'écriture du document. Revoyez l'exigence _routing (required) dans le mapping.
Autres entrées pour ce moteur
- document_source_missing_exceptionDocument source is missing
- node_not_connected_exceptionNode is not connected
- receive_timeout_transport_exceptionRequest timed out waiting for a response from another node (délai dépassé en attendant la réponse d'un autre nœud)
- too_many_buckets_exceptionTrying to create too many buckets
- shard_lock_obtain_failed_exceptionObtaining shard lock timed out
- parsing_exceptionFailed to parse the search request / query DSL (échec de l'analyse de la requête de recherche / du query DSL)
- max_bytes_length_exceeded_exceptionDocument contains at least one immense term that is too long (le document contient au moins un terme démesuré, trop long)