2015-11-24 2 views
0

Я хотел бы запустить поисковый запрос фразы по индексу Lucene 2.9, и он не возвращает никаких результатов. Теперь запрос разделяется на очень простой, но он все равно не помогает. Где мне нужно посмотреть?Почему поиск фразы lucene возвращает пустые результаты?

Мой провал поисковый запрос:

bodyText: "foo bar" 

Запрос, как следующие работы:

bodyText: (+foo +bar) 

Однако последний запрос не соответствует нашей цели, потому что я нужен правильный поиск фразы со словами находясь в последовательном порядке.

Я использую Luke для проверки запросов lucene.

+0

И как вы индексируете? Фраза «foo bar» означает «термин foo, за которым непосредственно следует панель терминов», которая подразумевает анализаторы, которые поддерживают позиционную информацию (что многие делают). Запрос «+ foo + bar» просто означает «должен содержать foo и bar», и они могут присутствовать где угодно, в любом порядке (и в том же положении ...) – sisve

ответ

0

Просто убедитесь, что вы используете тот же анализатор при запросе с Люком, как при индексировании вашего контента? По умолчанию для Luke (v 1.0.1), по-видимому, является KeywordAnalyzer, поэтому, если вы индексируете свой контент другим анализатором, например. StandardAnalyzer, а затем попробуйте запросить его с помощью KeywordAnalyzer, это может не дать ожидаемых результатов.

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

Если вышеуказанное не является решением, вы также можете опубликовать конфигурацию индекса и индексатора и текст, который вы индексируете. Это позволит воссоздать проблему.

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

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