Как заставить поиск по префиксам работать без переиндексирования существующих данных - PullRequest
0 голосов
/ 06 января 2019

Ранее я реализовал поиск при вводе с использованием префиксного запроса, но затем возникло много проблем из-за полей в моем индексе: -

Предположим, мое индексное имя jaipur и содержит поле title, которое анализируется на основе языкового анализатора.

Так что, если индекс предназначен для english языка, то слова со стеблем ниже будут храниться как ниже

original word       stemmed form
nutritional         nutrit
suggestions         suggest
recommendation      recommend

Теперь, используя префиксный запрос, когда я ищу до nutrit или suggest, он дает мне результат, но как только набирает следующий символ после основанной формы
как nutriti или suggestio мои результаты исчезают, так как эти токены отсутствуют в моем инвертированном индексе, а запросы префиксов не анализируются.

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

Кто-нибудь может подсказать, есть ли альтернативы? Дайте мне знать, если потребуется дополнительная информация.

Примечание: - Я использую версию ES 1.7.4.

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