用Lucene提升新文档

Lucene是否提供了一种提升新文档的方法?

例如,假设Lucene文档包含日期字段。 是否有可能在没有用户改变她的查询的情况下,以更高的分数呈现最新的文档?

我不想采用粗略的“按日期排序”解决方案,因为它将完全取消评分算法。

将文档放入索引时使用Document.setBoost(float值)。

您可以不断地重新调整现有文档的值,或者使用随日期递增的浮点值,这样您只需将其应用到插入文档的时间。

例如,对于第1天文档,以增强值0开始。 每天,将提升增加1.这是一个浮动值,每年增加365将持续很长时间。

您可能需要尝试增强的强度才能获得所需的效果。

你可以看到Lucene in Action。 在第二版中,pg。 187他们提供了一种方法。 基本上,您需要编写自己的查询来扩展CustomScoreQuery ,并添加一个提升。