Оценка документов Lucene, похоже, теряется после поиска - PullRequest
1 голос
/ 27 сентября 2011

В lucene 3.1 у меня есть большой логический запрос, который я выполняю так:

IndexSearcher is = new IndexSearcher (myDir);is.search (query, 10);

Я получаю 10 результатов просто отлично, но они отсортированы по docId и не содержат информации о результатах.Вся документация, которую я могу найти, говорит, что lucene по умолчанию сортирует по релевантности / баллам, но это не так для меня.Если я попрошу объяснить, информация о счете отсутствует, просто «0.0».Забавно то, что если я выполняю тот же запрос в Luke по тому же индексу, я получаю результат, отсортированный по баллам, но я не вижу, как заставить баллы оставаться и использоваться для сортировки при запуске из приложения.Поэтому я считаю, что запрос в порядке, если посмотреть, как он работает в Люке.

Что я делаю не так?Я также попытался установить is.setDefaultFielsSortScoring (true, true), но это не имеет значения.Я попытался использовать TopScoreDocColletor безуспешно.

1 Ответ

1 голос
/ 27 сентября 2011

Посмотрите на Оценка Lucene , особенно норма запроса. Если один из ваших весов равен Float.MAX_VALUE, все остальное будет достаточно близко к нулю, что меньше точности станка.

...