Как мне настроить Lucene, чтобы я мог искать, игнорируя пробельные символы? - PullRequest
3 голосов
/ 12 октября 2010

Например, список номеров деталей включает:

JRB-1000
JRB 1000
JRB1000
JRB100-0
-JRB1000

Если aпользователь выполняет поиск по 'JRB1000' или 'JRB 1000'. Я хотел бы вернуть совпадение для всех вышеуказанных номеров деталей.

1 Ответ

2 голосов
/ 12 октября 2010

Напишите пользовательский Analyzer, который либо разбивает их на несколько токенов (JRB, 1000; относительно просто и прост для пользователей), либо объединяет их в один токен (JRB1000;сложно, но точно).Реализация собственного Analyzer означает переопределение аргумента tokenStream в существующем и, возможно, написание пользовательского TokenFilter класса.

Примените новый Analyzer к обоим документам, являющимсяпроиндексированы и запросы.

(Ссылки для версии Java, но .NET должны быть похожи.)

...