routing_missing_exception: Routing value is required for this document
ElasticsearchЧто это значит?
Для доступа к документу/его индексирования требуется значение routing, но оно не передано. Без routing Elasticsearch не смог определить, к какому шарду относится документ.
Почему возникает?
В маппинге индекса задано _routing required=true; используется связь parent-join (parent/child), и дочерние документы требуют routing; либо параметр routing пропущен в запросе index/get/update/delete. Типичная причина — чтение документов, записанных с пользовательским routing, без указания routing.
Как исправить
Явно укажите значение routing в запросе (например, ?routing=value в вызовах index/get/update/delete). При parent-join передавайте id родителя в качестве routing для дочерних документов. Для чтения/обновления/удаления используйте тот же routing, что и при записи документа. Проверьте требование _routing (required) в маппинге.
Ещё по этой СУБД
- 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
- 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
- max_bytes_length_exceeded_exceptionDocument contains at least one immense term that is too long