Lucene.net如何定制得分

时间:2013-01-07 09:29:00

标签: lucene.net

我遇到了一个似乎无法用Lucene.net解决的问题。我们正在使用Lucene.net进行自动填写字段,并希望以搜索字词开头的匹配显示在列表顶部以及下面的其他匹配。

基本上,我想要的是搜索结果,从搜索的单词开始,得到某种提升,显示在最上面。

我已经检查了CustomScoreProvider和CustomScoreQuery,但我无法想象如何使用它来做我想要的事情,并且没有关于如何实现它的好例子。但也许我在错误的树上吠叫,因为这很可能通过设置某些属性或其他东西来实现。

1 个答案:

答案 0 :(得分:1)

您可以通过更改查询而不是更改评分算法来解决此问题。

所以你的查询本来是:

Field:(this is a piece of text)

变为:

Field:"this is a piece of text*"^2 OR Field:(this is a piece of text)