Выяснить ошибку индексации в elasticsearch?

Я использую версию ES 1.x и не могу найти ошибки при индексировании некоторых документов.

Некоторые документы не индексируются, и все, что я видел, находится ниже строк в журналах ES.

stop throttling indexing: numMergesInFlight=2, maxNumMerges=3

now throttling indexing: numMergesInFlight=4, maxNumMerges=3

Я быстро погуглил и понял высокий уровень этих ошибок, но хотел бы понять ниже:

  1. Будет ли ES повторно пытаться обрабатывать документы, которые были ограничены?
  2. Есть ли способ узнать, какие документы были заблокированы, включив подробное ведение журнала, и если да, то в каких классах?
  3. Я не вижу никаких сообщений об ошибках, кроме приведенных выше INFO журналов. Есть ли способ включить подробный журнал для индексации, который показывает, что именно происходит во время индексации?

🤔 А знаете ли вы, что...
Elasticsearch поддерживает полнотекстовый поиск в множестве языков и склонениях.


6
3 736
2

Ответы:

elasticsearch не делает повторных попыток, насколько мне известно, это зависит от клиента (хотя я довольно давно не использовал 1.x) logstash, например, повторяет пакеты, которые он получает 503 и 429, именно по этим причинам https://github.com/logstash-plugins/logstash-output-elasticsearch/blob/master/lib/logstash/outputs/elasticsearch.rb#L55


Сообщения о регулировании, которые вы видите в журналах, не являются проблемой. в фоновом режиме происходит дросселирование, чтобы эластичный поиск защищал от взрыва сегментов. см. объяснение здесь: https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html#segments-and-merging

Регулирование не отбрасывает сообщения, а просто замедляет индексирование, что вызывает обратное давление на индексаторы и внешние очереди.

При сбое индексации вы должны получить ответ об ошибке для индексного/массового запроса. чтобы определить, в чем проблема, вы должны проверить ответы, которые ES предоставляет для индексных/массовых запросов. Журналы могут не отражать полную картину, так как это зависит от конфигурации уровня логирования, которая относится к каждому модулю в ES.

Другой вариант заключается в том, что вы можете индексировать, но в журналах нет временной метки, как вы думаете. проверьте _cat/индексы, чтобы увидеть, увеличивается ли количество документов при индексировании. если количество документов увеличивается, это означает, что проиндексированные документы есть, и вам нужно уточнить поиск.