Как использовать запрос фразы в liferay со стоп-словами - PullRequest
0 голосов
/ 03 марта 2019

Я использую Liferay 7.1 вместе с ElasticSearch, и все, что я хочу сделать, это искать (ПРИМЕР): «Это тест».

Но в этом случае «есть» и «а» являютсястоп-слова, они отфильтровываются, и поэтому я получаю результаты, которые мне не нужны, например: «Этот тест качается».

Я использую BooleanQuery следующим образом:

BooleanQuery keywordQuery = new BooleanQueryImpl();
keywordQuery.addTerms(KEYWORDS, keyword, false);

Ключевое слово в этом случае - «это тест».

Может кто-нибудь сказать мне, как заставить BooleanQuery не отфильтровывать стоп-слова?

С уважением,

Даниэль

1 Ответ

0 голосов
/ 04 марта 2019

Стоп-слова являются понятием фазы анализа при индексации.Таким образом, ваш индекс не содержит «есть» и «а».Следовательно, во время запроса нет параметра для использования стоп-слов.

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

Проверьте структуру документов (например, с эластичным HQ).) проверить атрибуты на наличие стоп-слов.

...