在lucene 3.1中,我有一个大的布尔查询,我执行如下:
IndexSearcher =新的IndexSearcher(myDir); is.search(query,10);
我得到10个结果就好了,但它们按docId排序,并且不包含任何得分信息。我能找到的所有文档都表示lucene默认按相关性/得分排序,但对我来说情况并非如此。如果我要求解释,则没有得分信息,只有“0.0”。有趣的是,如果我在同一个索引上在Luke中执行相同的查询,我会得到一个按得分排序的结果就好了,但我看不到如何让得分留下来并用于从app启动时进行排序。所以我相信查询很好,看看它在Luke中是如何工作的。
我做错了什么?我也尝试过设置is.setDefaultFielsSortScoring(true,true),但这没什么区别。我尝试使用TopScoreDocColletor但没有成功。