Как и в случае любого поиска в elasti c, Elasti c выполняет его в две фазы, то есть в фазе запросов и выборок, как описано в разделе «Тип поиска по умолчанию: Query Then Fetch» на этом ресурсе
Вот точки
- Отправьте запрос каждому осколку
- Найдите все подходящие документы и рассчитайте оценки, используя локальные термины / частоты документов
- Построить приоритетную очередь результатов (сортировка, разбиение на страницы с / по и т. Д. c) ..
У меня вопрос по пункту 1 фазы запроса. Насколько я понимаю, перед самой фазой запроса elasti c найдет соответствующие идентификаторы документов из инвертированного индекса на основе слова в поисковом запросе. Тогда запрос будет go указывать c шардов, а не идти к каждому шарду. Это правильно?
Таким образом, в фазе запроса elasti c извлекает эти документы из осколка на основе document_id, получившего обратный индекс, затем вычисляет оценки для извлеченного документа и возвращает идентификаторы вместе с просмотрами запрашивающему узлу.
На этапе получения запрашивающий узел получает все оценки и решает, что необходимо отправить клиенту, после чего он фактически выбирает документ.