search_phase_execution_exception: search_phase_execution_exception: сбой на всех шардах / не удалось выполнить фазу [query]
ElasticsearchЧто это значит?
Поисковый запрос завершился ошибкой на одном или всех требуемых шардах. Это общая ошибка поиска, оборачивающая фактическую причину; раздел «caused by» указывает реальную проблему (ошибка разбора, breaker, неподходящий тип поля, недоступный шард и т. д.).
Почему возникает?
Недопустимый синтаксис запроса, агрегация по полю неверного типа, too_many_clauses, срабатывание circuit breaker, неназначенный/недоступный шард, тайм-аут запроса или сбой узла. Первопричина — во внутреннем исключении ответа.
Как исправить
Найдите фактическое исключение в разделах ответа «caused by» / «failed_shards» и исправьте соответственно (исправьте запрос, используйте поле keyword, настройки breaker/heap, размещение шардов). Проверьте состояние кластера: GET _cluster/health и GET _cat/shards?v. Если частичные результаты допустимы и часть шардов завершилась ошибкой, проверьте поведение allow_partial_search_results.
Ещё по этой СУБД
- mapper_parsing_exceptionmapper_parsing_exception: не удалось разобрать поле [...] типа [...]
- strict_dynamic_mapping_exceptionstrict_dynamic_mapping_exception: mapping задан как strict, динамическое добавление [...] внутри [...] не допускается
- illegal_argument_exception_fielddataillegal_argument_exception: fielddata по умолчанию отключена для текстовых полей. Задайте fielddata=true для [your_field], чтобы загрузить fielddata в память
- too_many_clausestoo_many_clauses: maxClauseCount равен 1024 (в запросе слишком много условий)
- version_conflict_engine_exceptionversion_conflict_engine_exception: [_doc][id]: конфликт версий, текущая версия [x] отличается от указанной [y] (HTTP 409)
- document_missing_exceptiondocument_missing_exception: [_doc][id]: документ отсутствует
- index_not_found_exceptionindex_not_found_exception: индекс [index_name] не существует (HTTP 404)