#elasticsearch #elasticsearch-query
#elasticsearch #elasticsearch-запрос
Вопрос:
Вопрос заключается в следующем: «Как узлы Elasticsearch взаимодействуют, чтобы выдавать конкретный результат поиска, и каков поток поискового запроса?»
Я ссылался на следующие ссылки, чтобы понять, но они не очень понятны в том, что я пытаюсь понять.
- https://www.elastic.co/guide/en/elasticsearch/reference/master/ingest.html
- https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html
Согласно приведенной выше документации,
- «Узлы данных» — это те, которые выполняют всю обработку при вызове запроса _search.
- «Входящие узлы» выполняют некоторую предварительную обработку перед индексацией данных.
Итак, верны ли эти два приведенных выше утверждения? Соответственно,
- Выполняют ли входящие узлы какую-либо роль при выполнении запроса _search?
- Выполняют ли узлы данных какую-либо роль при индексации данных?
- Выполняют ли какие-либо другие узлы какую-либо роль при поиске данных?
Или, если бы вы могли помочь объяснить поток поискового запроса (какой узел получает вызов API, какой узел фильтрует данные, какой узел выполняет агрегацию и т. Д.), Тогда это было бы действительно полезно.
Если это актуально, то я использую Elastic Search 7.5
Ответ №1:
-
Выполняют ли входящие узлы какую-либо роль при выполнении
_search
запроса? если это выделенныйingest
узел, то нет, если он также содержит данные (сегменты и реплики), то да. -
Выполняют ли узлы данных какую-либо роль при индексации данных? Да, узлы данных фактически содержат данные (сегменты и реплики), и в конечном итоге они отвечают за индексацию и поиск этих данных
-
Выполняют ли какие-либо другие узлы какую-либо роль при поиске данных? Да, пожалуйста, обратитесь к ответственности за координирующую роль в ES.
Короче говоря, принимающий узел просто выполняет преобразование данных, а узлы данных фактически содержат данные, и все роли могут быть выделены или переданы узлу в ES.
Ниже приведены шаги в поисковом запросе—
- Координирующий узел получает запрос, и это может быть выделенный узел или узлы данных, выполняющие эту работу (по умолчанию).
- Координирующий узел пересылает запрос на узлы данных, которые содержат сегменты (первичные или реплики) для вашего поискового запроса.
- Узлы данных выполняют локальный поиск и отправляют результат обратно на координирующий узел.
- Координирующий узел будет агрегировать 10 лучших результатов поиска (по умолчанию 10) со всех узлов и отправлять ответ.