Как индексировать и находить числа с помощью Lucene.NET?
Я реализовал полнотекстовый поиск для веб-сайта с помощью Lucene.NET (версия 2.0). Индексация и поиск работают хорошо, но у меня есть одна проблема. Если я ищу номера (номера телефонов, номера продуктов и т. д.) в качестве условий поиска я не получаю никаких результирующих документов.
Я использую в Lucene.Чистая.Анализ.Класс SimpleAnalyzer. Я думаю, что мне нужно изменить анализатор и / или маркер.
Какой-нибудь совет?
Спасибо вам!
1 ответ:
Когда вы создаете документ Lucene, вы можете выбрать различные параметры индексирования для каждого поля. Для полей, которые вы не хотите маркировать, вам нужно выбрать поле.Индекс.UN_TOKENIZED вариант. Это позволит сохранить ваши телефонные номера и номера продуктов в такт.
Я бы также посоветовал использовать стандартный анализатор, так как он не удаляет числа, как SimpleAnalyzer.
Также важно, чтобы вы использовали один и тот же анализатор для индексирования и поиска, чтобы получить последовательные результаты.