Lucene动态场加权

时间:2014-04-27 09:19:59

标签: lucene textfield scoring

Lucene支持在查询创建期间设置固定的相对字段权重。这意味着对于所有匹配文档,基于那些固定的预先确定的权重,对所有可搜索字段的内容与查询的相似性进行加权(和求和)。我的问题是,是否可以根据每个文档的属性在搜索过程中动态设置文档字段权重。 例如,如果所有索引文档都有一个数字字段,我想根据其数字字段值设置每个文档文本字段的相对权重。

由于 大卫

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。为此,您可以使用CustomScoreQuery。您可以在书籍Lucene In Action中找到一个很好的示例,其中扩展了CustomScoreQuery以获得新近度提升(根据日期自定义计算提升文档)。特别是,您希望覆盖CustomScoreProvider,并实现您需要的计算。