Java 使用Lucene增强新文档

Java 使用Lucene增强新文档,java,lucene,information-retrieval,Java,Lucene,Information Retrieval,Lucene是否提供了促进新文档的方法 例如,假设Lucene文档包含一个日期字段。用户是否可以在不改变查询的情况下,以更高的分数呈现最新文档 我不想求助于粗糙的“按日期排序”解决方案,因为它将完全取消评分算法。将文档放入索引时使用Document.setBoost(float value) 您可以不断重新调整现有文档上的值,也可以使用随日期递增的浮点值,以便只需将其应用于插入文档的时间 例如,对于第1天的文档,从boost值0开始。每天,增加1的提升量。这是一个浮动值,每年增加365将持续很长

Lucene是否提供了促进新文档的方法

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

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

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

您可以不断重新调整现有文档上的值,也可以使用随日期递增的浮点值,以便只需将其应用于插入文档的时间

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


你可能需要尝试一下助推的力度,才能得到你想要的效果。

你可以看到Lucene在起作用。在第二版,第187页,他们给出了一种方法。基本上,您需要编写自己的查询,该查询扩展了
CustomScoreQuery
,并增加了一个功能。

谢谢您的回答。它在理论上非常聪明,但我必须彻底测试它,看看它是否真的有效。无论如何,这的确很聪明,这就提出了一个问题,为什么它没有被记录在案。人们可能会在烹饪书或其他东西中找到它……答案也不错!谢谢你的提示!