2008-12-05 4 views
3

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

Предположим, у меня в моем указателе есть документ с полем «имя», значение «Джон Скит». Теперь я хочу найти этот документ при поиске «jon skeet».

+0

Каким будет код для поиска близости с Lucene.Net? – FelixMM 2011-04-13 00:17:57

ответ

4

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^