Поиск фраз в Lucene - PullRequest
       44

Поиск фраз в Lucene

3 голосов
/ 05 декабря 2008

Может кто-нибудь указать мне пример, как искать фразы с Lucene.net?

Допустим, в моем индексе есть документ с полем "имя", значением "Jon Skeet". Теперь я хочу найти этот документ при поиске "jon skeet".

1 Ответ

4 голосов
/ 05 декабря 2008

Вы можете использовать поиск по близости , чтобы найти термины на определенном расстоянии друг от друга. Синтаксис запроса Lucene выглядит следующим образом "jon skeet"~3, что означает поиск «jon» и «skeet» в трех словах друг от друга. С этим синтаксисом относительный порядок не имеет значения; "jon q. skeet", "skeet, q. jon" и "jon skeet" будут совпадать.

Если у вас есть список фраз, которые вы хотите рассматривать как один токен, вы должны позаботиться об этом в своем анализаторе. Например, вы хотите рассматривать «ближний восток», «средний восток» и «дальний восток» как отдельные токены. Вам нужно написать анализатор с некоторым вниманием, чтобы он мог обрабатывать эти фразы, как если бы они были одним словом. Этот анализатор используется как в индексаторе, так и против пользовательского ввода в поисковом приложении.

...