Lucene-是否可以在不更改查询本身的情况下更改查询的分数?

时间:2019-04-06 11:21:33

标签: java lucene information-retrieval

我正在尝试使用一种可用算法在程序上实现相关性反馈功能。这要求通过将原始查询分数与所有相关文档分数的总和相加来更改原始查询分数。具有改进分数的查询在使用时应给出新结果。问题是,到目前为止,我还没有找到任何方法来更改Lucene上的查询分数。我是否错过了文档中的某些内容? Lucene是否提供更改现有查询分数的方法?

1 个答案:

答案 0 :(得分:0)

要修改查询的分数,可以将该查询包装在另一个查询中。在Lucene中有几种选择可以做到这一点。两个非常相关的:

  • FunctionScoreQuery :提供静态方法来包装查询,将原始分数乘以另一个查询的结果或DoubleValuesSource来对原始分数乘以原始分数。 / li>
  • 表达式模块:这使您可以进行任意计算以生成分数。可以与上面的FunctionScoreQuery结合使用。 Check the docs for more info