2011-10-09 31 views
5

我已经有提前确定的提升。我在solr索引中有一个名为boost1的字段。这个提升字段的值将从1到10与谷歌PR排名相似。这是应用于solr中运行的每个查询的提升。这里是我的索引如何提高字段在索尔

  • 编号
  • 标题
  • 文本
  • 助推

升压场应适用于每一个查询的字段。我试图实现类似于Google PR排名的功能。有没有办法使用solr来做到这一点?

+0

这仍然(从2012年)信息和帮助:https://nolanlawson.com/2012/06/02/comparing-boost-methods-in-solr/ – Risadinha

回答

8

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

q={!boost b=boost1} 

How_can_I_boost_the_score_of_newer_documents

然而,这可能需要你通过明确添加。

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

bf=boost1^0.5 

这可以被添加到该请求处理程序定义的默认值,以使它们适用于所有的搜索查询。

您可以使用查询功能来改变升压FunctionQuery

+0

嗨,如何做一个更复杂的功能查询使用乘法实现提振..请检查http://stackoverflow.com/questions/19874983/use-function-query-for-boosting-score-in-solr –

+0

你可能想更喜欢'boost'(乘法增强)到'edismax'查询中的'bf'(加法提升)参数。一篇文章阐明了所有不同的参数:https://nolanlawson.com/2012/06/02/comparing-boost-methods-in-solr/ – Risadinha