8

我已经事先确定了提升。我在 solr 索引中有一个名为boost1. 此提升字段的值介于 1 到 10 之间,类似于 google PR rank。这是应该应用于 solr 中运行的每个查询的提升。这是我索引中的字段

  • ID
  • 标题
  • 文本
  • 升压1

boost 字段应该适用于每个查询。我正在尝试实现类似于 Google PR rank 的功能。有没有办法使用 solr 做到这一点?

4

2 回答 2

12

您可以在查询期间添加提升,例如

q={!boost b=boost1}

How_can_I_boost_the_score_of_newer_documents

但是,这可能需要您明确添加。

如果您正在使用请求处理程序dismaxedismax与请求处理程序一起使用,则可以使用 bf(Boost Functions)参数来提升文档。 http://wiki.apache.org/solr/DisMaxQParserPlugin#bf_.28Boost_Functions.29

bf=boost1^0.5

这可以通过请求处理程序定义添加到默认值,以便它们应用于所有搜索查询。

您可以使用函数查询来改变 boost FunctionQuery的数量

于 2011-10-09T06:07:39.673 回答
0

我认为您需要使用index time document boosts。如果您正在为 XML 编制索引,请参阅此内容如果使用DataImportHandler.

于 2011-10-09T17:37:19.890 回答