【发布时间】:2011-06-11 02:25:08
【问题描述】:
Lucene 是否提供了一种增加新文档的方法?
例如,假设 Lucene 文档包含一个日期字段。是否有可能在不让用户改变她的查询的情况下,以更高的分数呈现最新的文档?
我不想采用粗略的“按日期排序”解决方案,因为它会完全取消评分算法。
【问题讨论】:
标签: java lucene information-retrieval
Lucene 是否提供了一种增加新文档的方法?
例如,假设 Lucene 文档包含一个日期字段。是否有可能在不让用户改变她的查询的情况下,以更高的分数呈现最新的文档?
我不想采用粗略的“按日期排序”解决方案,因为它会完全取消评分算法。
【问题讨论】:
标签: java lucene information-retrieval
将文档放入索引时使用 Document.setBoost(float value)。
您可以不断地重新调整现有文档的值,或者拥有一个随日期递增的浮点值,这样您只需将其应用于插入文档的时间。
例如,从第 1 天文档的提升值 0 开始。每天,boost 递增 1。它是一个浮点值,每年递增 365 会持续很长时间。
您可能需要尝试增强的强度才能获得您想要的效果。
【讨论】:
您可以看到 Lucene 的实际应用。在第二版中,第 页。 187 他们提供了一种方法来做到这一点。基本上,您会想要编写自己的查询来扩展CustomScoreQuery,并增加一个提升。
【讨论】: