Координирующий узел - достаточно информации для агрегирования - PullRequest
1 голос
/ 28 апреля 2020

Я просматриваю документацию, чтобы лучше понять роль координирующего узла, различные фазы поискового запроса -

Я сталкиваюсь с фазой -

Каждый осколок возвращает только достаточно информации для координирующего узла

К какой информации относится эта фраза - «просто достаточно информации»? Если бы у нас были сложные запросы, такие как запросы bool, агрегация - я предполагаю, что координирующая потребность выполнить тот же запрос снова для агрегации результатов в глобальном масштабе, в этом случае у координатного узла также будет работать какой-то движок lucene, чтобы агрегировать результаты?

1 Ответ

1 голос
/ 28 апреля 2020

Координирующий узел может иметь (когда действует как узел данных, и на нем присутствует ваш индексный сегмент) или может не иметь данных (если используется как выделенный координирующий узел или нет вашего индекса) ваш индекс.

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

Чтобы ответить на ваш вопрос,

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

Нет, координирующий узел не будет агрегировать результаты и не будет запрашивать снова для агрегирования для получения глобальных результатов.

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

Хороший текст по этому вопросу https://discuss.elastic.co/t/how-does-elasticsearch-process-a-query/191181 и https://www.elastic.co/blog/elasticsearch-query-execution-order

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...