ElasticSearch / Lucene: автоматы для словаря терминов - PullRequest
0 голосов
/ 30 марта 2020

Проблема: мне нужно выделить подходящие термины. Готовое решение не может быть применено из-за того, что мы не храним источники внутри ES.

Возможное решение:

  1. Получение идентификаторов из ES по поисковому запросу
  2. Извлечение источников по идентификаторам
  3. Сопоставление источника со словом запроса по слову с использованием алгоритма LevinsteinDistance или класса FSM Lucene

Учитывая, что мы не получаем много контента на время не должно занимать много времени.

Вопрос в следующем:

Содержит ли библиотека Lucene FSM / автоматы для представления словаря? Желаемое решение: получить автомат lucene, представляющий словарь, и подать запрос к нему термин за термином. Автоматы должны принимать термины, содержащиеся в словаре. Редактировать расстояние также следует учитывать.

В поисках решения я нашел классы люценов, такие как LevenshteinAutomata и FuzzyQuery. Но LevenshteinAutomata (как я понял) представляет собой только один термин. Поэтому на несколько сроков мне нужно несколько автоматов.

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