Каков наилучший способ обработки синонимов (фраз) с помощью Lucene?
Особенно, когда мне нужно выполнить такие запросы, как: ИЛИ b ИЛИ c НЕ d
Как насчет добавления нового поля под названием "синонимы" к каждому документу при индексации?
Значение этого поля будет иметь список всех синонимов. Он будет добавлен в документ, только если этот документ имеет какой-либо из синонимов.
Затем я выполняю поисковый запрос «ИЛИ», который будет искать ключевое слово для поиска в этом поле наряду с другими полями.
Может ли этот подход хорошо работать для любого типа запроса?
FYI,
Синонимы в моем приложении полностью пользовательские, а не из словаря английского языка ... т.е. «Глобальный лидер в области финансов» также может означать «Главный инвестиционный банк» или «Финансовая компания Fortune 500» и т. Д. И т. Д.
Пожалуйста, предложите.
Спасибо.