Как индексировать и находить числа с помощью Lucene.NET?


Я реализовал полнотекстовый поиск для веб-сайта с помощью Lucene.NET (версия 2.0). Индексация и поиск работают хорошо, но у меня есть одна проблема. Если я ищу номера (номера телефонов, номера продуктов и т. д.) в качестве условий поиска я не получаю никаких результирующих документов.

Я использую в Lucene.Чистая.Анализ.Класс SimpleAnalyzer. Я думаю, что мне нужно изменить анализатор и / или маркер.

Какой-нибудь совет?

Спасибо вам!

1 5

1 ответ:

Когда вы создаете документ Lucene, вы можете выбрать различные параметры индексирования для каждого поля. Для полей, которые вы не хотите маркировать, вам нужно выбрать поле.Индекс.UN_TOKENIZED вариант. Это позволит сохранить ваши телефонные номера и номера продуктов в такт.

Я бы также посоветовал использовать стандартный анализатор, так как он не удаляет числа, как SimpleAnalyzer.

Также важно, чтобы вы использовали один и тот же анализатор для индексирования и поиска, чтобы получить последовательные результаты.