是否可以根据数值影响Lucene排名?

时间:2011-09-18 14:34:44

标签: lucene lucene.net

我有各种数值的内容,更高的值表示(理论上)更有价值的内容,我想要排名更高。

例如:

  • 平均评分(0 - 5)
  • 评论数量(0 - 无论如何)
  • 来自其他页面的入站链接引用数(0 - 无论如何)
  • 我申请的一些任意数字表示我认为内容的重要性(1 - 无论如何)

这些可以被Lucene索引为数值,但是如何告诉Lucene在其排名算法中使用此值?

2 个答案:

答案 0 :(得分:4)

您可以在编制索引时使用“Field.SetBoost”设置此值。

答案 1 :(得分:1)

根据您想要进行的具体操作,您可以按照@LB的建议设置索引,或者如果您想使其动态化,即在搜索时而不是索引时,您可以使用ValueSourceQueryCustomScoreQuery

您可以在我前一段时间问过的问题中看到示例: Lucene custom scoring for numeric fields(该示例使用Lucene 3.0进行了测试)。