在Lucene(.NET)中禁用评分

时间:2010-04-14 14:04:43

标签: lucene lucene.net

搜索时,有没有办法禁用任何查询的评分?

场景是用户通过尝试不同的单词,短语等组合来细化他的查询,并且需要对点击次数的实时(好的,合理地至少快)响应。

当由于得分而有数百万次点击时,搜索时间会减慢很多,但用户实际上并不关心所有这些文档。一旦他看到有1M +点击,他就会开始在查询中添加额外的单词。 “按相关性排序”选项可以让他快速完成此操作,同时在点击次数合理时将评分重新打开。

这可能吗?

我正在使用Lucene.NET 2.9.2,但AFAIK它与Java版本相同。

2 个答案:

答案 0 :(得分:4)

试试ConstantScoreQuery。这只会返回命中,而不会对其进行评分。

答案 1 :(得分:0)

在Lucene 2.9中,您可以使用可以执行您想要的自定义收集器(在没有得分的情况下获得命中)。

http://hudson.zones.apache.org/hudson/job/Lucene-trunk/javadoc/all/org/apache/lucene/search/Collector.html