Elasticsearch - получите самые популярные термины - PullRequest
2 голосов
/ 22 сентября 2019

Я пытаюсь создать автозаполнение (поиск по мере ввода), которое объединяет отдельные варианты терминов на основе их общих документов, а затем сортирует комбинации терминов на основе количества документов.

ИтакЯ настроил подсказку для завершения, я проиндексировал свои невидимые термины как термины подсказки, а затем выполняю запрос подсказки для каждого из терминов (слов).Затем я получаю список предложений для каждого из моих терминов (слов).После этого я создаю список комбинаций между этими предложениями (декартово произведение) и получаю кучу потенциально!полезные комбинации, такие как:

tag1 tag2
tag1 tag3

и т. д. *

Теперь мне нужно:

a) выполнить запрос полнотекстового соответствия для каждой комбинации, чтобы убедиться, чтофактически он возвращает любые результаты (термин «комбинация» может фактически не возвращать никаких документов)

b) сортирует комбинации по количеству документов, возвращаемых каждым из них

c) объединяет некоторые другие атрибуты документа длякаждый из комбинационных запросов

То, что я пробовал до сих пор, это: именованные запросы.Но все, что я получаю, - это список запросов, которые совпадают, а не фактическое количество документов для каждого, так что я могу их отсортировать.Кроме того, я получаю список документов и список совпадающих запросов для этого документа, так что на самом деле это не очень полезно:)

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