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

Lucene文档分数在搜索后似乎丢失,lucene,document,Lucene,Document,在lucene 3.1中,我有一个大型布尔查询,我执行时如下: IndexSearcher is=新的IndexSearcher(myDir); is.搜索(查询,10) 我得到10个结果很好,但它们是按docId排序的,不包含分数信息。我能找到的所有文档都说lucene默认按相关性/分数排序,但我不是这样。如果我要求解释,没有分数信息,只有“0.0”。有趣的是,如果我在Luke中对同一索引执行相同的查询,我会得到一个按分数排序的结果,但我看不出如何保持分数,并在从应用程序启动时用于排序。所以我

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

IndexSearcher is=新的IndexSearcher(myDir); is.搜索(查询,10)

我得到10个结果很好,但它们是按docId排序的,不包含分数信息。我能找到的所有文档都说lucene默认按相关性/分数排序,但我不是这样。如果我要求解释,没有分数信息,只有“0.0”。有趣的是,如果我在Luke中对同一索引执行相同的查询,我会得到一个按分数排序的结果,但我看不出如何保持分数,并在从应用程序启动时用于排序。所以我相信这个问题很好,看看它在卢克身上是如何运作的


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

看看,尤其是查询规范。如果其中一个权重是Float.MAX\u VALUE,则其他所有权重都将接近零,小于机器精度。

查看,尤其是查询标准。如果你的一个权重是Float.MAX\u VALUE,那么其他所有的权重都接近于零,小于机器的精度。

Hmm…看来我对lucene的了解太少了。我对Float.MAX_值的1个查询有一个提升因子…因为对它的准确命中率高于所有其他查询。将其减少到,比如说10,会使得分重新出现。有人能解释为什么会这样吗?(卢克的搜索效果很好,但这仍然让我感到困惑)嗯……看来我对卢克恩了解得太少了,不适合我的尝试。我对Float.MAX_值的1个查询有一个提升因子…因为对它的准确命中率高于所有其他查询。将其减少到,比如说10,会使得分重新出现。有人能解释为什么会这样吗?(我仍然很困惑,卢克的搜索结果很好,而且升幅很大)