Поиск во время запуска обновления Pentaho ElasticSearch

Мы используем ES для индексации ~ 1,5 млн записей из базы данных. Для заполнения индекса мы используем компонент Pentaho ES, для которого установлено значение «Перезаписывать, если существует» (работает примерно 15 минут). Кроме того, отдельные проиндексированные документы можно извлекать, обновлять или удалять с помощью служб Java.

Вопрос в том, что вернет ES во время полного запуска обновления Pentaho? Например, у нас есть 1,5 миллиона проиндексированных документов с версией = 1. Следующее обновление изменит эту версию на 2. Если мы запросим документ во время его обновления Pentaho — получим ли мы его старую версию? Будет ли служба недоступна для этого конкретного документа? Кроме того, если мы получим старую версию, будет ли новая версия доступна сразу после обновления или она будет ждать, пока не будет обновлен полный пакет (компонент Pentaho отправляет строки пакетами по 5 КБ)?

Пентахо - 4,4

Эластичный поиск — 0.19.4

Люсен — 3.6.0


person user2141597    schedule 06.03.2013    source источник


Ответы (1)


  1. Вы получите старую версию документа, если новая еще не зафиксирована. Услуга будет по-прежнему доступна.
  2. Новые версии будут доступны в зависимости от настройки refresh_interval в elasticsearch. По умолчанию это каждый 1s.

Возможно, Pentaho может крутить refresh_interval во время загрузки данных. Если это так, вам придется подождать, пока пентахо не вызовет метод refresh напрямую или пока он не сбросит параметр.

Вы можете просто запустить прогон, а затем проверить настройку refresh_interval через:

curl -XGET "http://my-es-server:9200/my-index-name/_settings"
person Dave S.    schedule 06.03.2013