Lucene Java, используйте запрос span, чтобы найти хиты на страницу - PullRequest
0 голосов
/ 08 февраля 2011

Я использую Lucene в качестве поисковой системы.Когда мы используем стандартный анализатор, стоп-слова отфильтровываются.Это означает, что когда мы ищем фразу, содержащую стоп-слова, мы не можем найти результаты для точной фразы.Пример мы ищем «Это игра», он ищет «Эта игра».(Я смотрю на это так)

Мне нужно отфильтровать стоп-слова, если кто-то ищет только 'a' или 'the'etc (стоп-слова), но не при поиске по фразе.

РЕДАКТИРОВАТЬ: похоже, он работает с QueryParser Object.

Однако я не могу получить результаты для хитов на страницу в одном документе для поиска по фразе.Я ищу использовать SpanQuery для него, какие-либо идеи о том, как его использовать?

Спасибо, Шарма

1 Ответ

2 голосов
/ 08 февраля 2011

При фильтрации стоп-слов относительное место слов не изменяется.Например, «это игра» приводит к следующему: игра в игре pos 0 в позиции 3

. Таким образом, когда вы генерируете запрос фразы (используя обычный анализатор запросов) с теми же стоп-словами, он будет работать, как и ожидалось.

Однако могут появиться некоторые артефакты.Фразы «это игра», «это какая-то игра»

будут одинаково хорошо соответствовать запросу «это игра».

Относительно SpanQuery ... Я неЯ не совсем понимаю вопрос.

...