搜索后,Lucene文档分数似乎丢失了

时间:2011-09-27 03:56:18

标签: lucene document

在lucene 3.1中,我有一个大的布尔查询,我执行如下:

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

我得到10个结果就好了,但它们按docId排序,并且不包含任何得分信息。我能找到的所有文档都表示lucene默认按相关性/得分排序,但对我来说情况并非如此。如果我要求解释,则没有得分信息,只有“0.0”。有趣的是,如果我在同一个索引上在Luke中执行相同的查询,我会得到一个按得分排序的结果就好了,但我看不到如何让得分留下来并用于从app启动时进行排序。所以我相信查询很好,看看它在Luke中是如何工作的。

我做错了什么?我也尝试过设置is.setDefaultFielsSortScoring(true,true),但这没什么区别。我尝试使用TopScoreDocColletor但没有成功。

1 个答案:

答案 0 :(得分:1)

查看Lucene scoring,尤其是查询规范。如果你的一个权重是Float.MAX_VALUE,那么其他所有权重都会接近于零,它会小于机器精度。