Поле Lucene не доступно для поиска - PullRequest
1 голос
/ 10 февраля 2011

ОБНОВЛЕННЫЙ ОРИГИНАЛЬНЫЙ ВОПРОС

Я создал программу, которая извлекает контент из базы данных и затем индексирует его.Во время этого процесса я создаю строковую переменную с именем searchField, которая состоит из различной информации.Как только эта строка построена, я делаю следующий вызов.

doc.add(new Field("search", this.stripHTMLTags(searchField), Field.Store.NO, Field.Index.ANALYZED));

Я знаю, что строка не пуста, потому что я вставил оператор print, чтобы показать содержимое, и правильные данные делают его вdoc.add ().

Когда я ищу ключевые слова, которые на самом деле отображаются в searchField, я не получаю хитов.Я уверен, что есть еще что-то необходимое, пожалуйста, помогите мне помочь вам лучше понять, и, надеюсь, это может быть решено!

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Я бы предложил вам индексировать его в каталог файлов, а затем использовать Люк , чтобы посмотреть, что индексируется. Люк - лучший инструмент для отладки проблем, связанных с Lucene.

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

1 голос
/ 10 февраля 2011

Попробуйте

doc.add(new Field("search", this.stripHTMLTags(searchField), Field.Store.YES, Field.Index.ANALYZED));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...