Как максимально разделить индекс Elasticsearch и путь поиска - PullRequest
0 голосов
/ 13 июня 2018

Я планирую максимально разделить индекс Elasticsearch и поисковые запросы, чтобы избежать ненужных задержек в процессе индексации.Не существует такого понятия, как выделенный поисковый узел Elasticsearch или индексный узел.Однако мне было интересно, подходит ли следующий сценарий.Насколько я понял, я не могу полностью отделить поисковые запросы от запросов на индексирование, потому что в конце они оба ударили по узлам данных ES, но я думаю, что это может немного помочь:

  • Несколько узлов Elasticsearch Coordinator (Нет основных данных / данных) для обработки поисковых запросов и направления их к соответствующему узлу данных.Следовательно, для создания поискового клиента для обработки поисковых запросов будет использоваться только URL-адрес узла координатора.
  • Используйте узлы данных Elasticsearch непосредственно для пути индекса и игнорируйте узлы-координаторы для индексации.

В этом случае принимающий узел данных будет действовать как узел-координатор для индексации пути, а выделенные узлы-координаторы будут использоваться для маршрутизации к реплике на узлах данных.Избыточная нагрузка на узел данных из-за поисковой маршрутизации может быть сведена к минимуму.

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

PS: Мой вариант использования - интенсивное индексирование и легкий / средний поиск

1 Ответ

0 голосов
/ 13 июня 2018

Вы не можете разделять операции индексирования и поиска, при этом индексирование будет записываться в основной сегмент, а затем в реплику реплики, тогда как поиск может выполняться только в основных сегментах.

Если вам важна производительность записи:

  • без реплики
  • refresh_interval> 30 с, простой анализатор
  • много сегментов (между узлами данных)
  • отправка запросов на вставку / обновление на узлах данныхнапрямую
  • попытаться использовать архитектуру горячих / холодных данных (индексы горячих / холодных)

Узлы-координаторы не могут вообще улучшить производительность поиска, это зависит от вашей рабочей нагрузки (агг и т.д...).

Как обычно, все параметры настройки зависят от ваших данных и использования, вы должны найти хороший баланс между индексацией и производительностью поиска, используйте конечную точку _node/stats, чтобы увидеть, что происходит.

...