document_source_missing_exception: Document source is missing
ElasticsearchЧто это значит?
Операции нужно поле _source документа, но оно не хранится. Операция, требующая _source (например, частичное обновление, получение исходного документа), была выполнена над индексом с отключённым source.
Почему возникает?
В маппинге индекса задано _source: {enabled: false}; поскольку исходный JSON документа не хранится, частичные обновления, reindex и запросы, возвращающие _source, не могут работать. Эту проблему вызывают конфигурации, отключающие source ради экономии места.
Как исправить
Для операций, которым нужен _source, source должен быть включён в маппинге. При создании нового индекса оставляйте _source включённым (он включён по умолчанию). Если _source отключён в существующем индексе, вместо обновления переиндексируйте документ целиком (перезапишите через index API). Для экономии места рассмотрите фильтрацию _source (includes/excludes) или synthetic _source вместо полного отключения source.
Ещё по этой СУБД
- settings_exceptionInvalid settings
- shard_not_found_exceptionShard not found
- not_x_content_exceptionCompressor detection error / body is not valid content
- node_not_connected_exceptionNode is not connected
- receive_timeout_transport_exceptionRequest timed out waiting for a response from another node
- routing_missing_exceptionRouting value is required for this document
- too_many_buckets_exceptionTrying to create too many buckets