Запрос Lucene не ищет слово "an" - PullRequest
0 голосов
/ 07 января 2020

Я запрограммировал поиск lucene, который ищет все термины, которые пользователь вводит в каждое поле сущности. Это сработало, но теперь у меня проблема со словом "an".

Если говорить конкретно, я хочу найти слова "receptions de nouvel an" в любом порядке, мой запрос выглядит так:

+description:*receptions* +description:*de* +description:*nouvel* +description:*an*

это не дает мне никаких результатов, но я знаю, что должно быть 3 результата.

  1. Réceptions de Nouvel An MDDI / PCH
  2. Réceptions de Nouvel An 2011
  3. Réceptions de Nouvel An 2010

, когда я делаю запрос, подобный этому

+description:*receptions* +description:*de* +description:*nouvel*

Я получаю ожидаемые результаты. Так что кажется, что есть проблема с работой "an".

Кто-нибудь знает для меня, что здесь не так и почему мой первый запрос не работает? Заранее спасибо

1 Ответ

1 голос
/ 08 января 2020

Стандартный анализатор по умолчанию с использованием EnglishStopWords CharArraySet, который также включает «a, an, the» ex. Если вы хотите, чтобы эти слова были проиндексированы, то вы можете использовать какой-нибудь специальный CharArraySet или как в «спешке» с StopWords

analyzer = new StandardAnalyzer(CharArraySet.EMPTY_SET); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...