Все осколки не сработали

Я работал над эластичным поиском, и он работал отлично. Сегодня я только что перезапустил свой удаленный сервер (Ubuntu). Теперь я ищу в своих индексах, это дает мне эту ошибку.

{"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed]","status":503}

Я также проверил здоровье. Состояние красного цвета. Может ли кто-нибудь сказать мне, в чем проблема.

Ответ 1

Возможно, при перезапуске некоторые осколки не восстановлены, в результате чего кластер останется красным.
Если вы нажмете:
http://<yourhost>:9200/_cluster/health/?level=shards вы можете искать красные осколки.

У меня возникли проблемы при перезагрузке, когда осколки заканчиваются в состоянии без восстановления. Мое решение состояло в том, чтобы просто удалить этот индекс полностью. Это не идеальное решение для всех.

Также приятно визуализировать такие проблемы, как плагин:

Elasticsearch Head

Ответ 2

Если вы столкнулись с этим очевидным повреждением индекса в запущенной системе, вы можете обойти его, удалив все файлы, называемые segment.gen. Это только рекомендация, и Lucene может нормально восстановиться без нее.

Из Блог ElasticSearch

Ответ 3

эта работа для меня.

elasticsearch/config/elasticsearch.yml нужно добавить эту строку. script.inline: on script.indexed: on