【问题标题】:How to boost fields in solr如何提升 solr 中的字段
【发布时间】:2011-10-09 05:39:59
【问题描述】:

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

  • 身份证
  • 标题
  • 文字
  • Boost1

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

【问题讨论】:

标签: solr lucene solrnet edismax dismax


【解决方案1】:

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

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

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

您可以使用函数查询来改变提升量FunctionQuery

【讨论】:

【解决方案2】:

我认为您需要使用index time document boosts。如果您正在为 XML 编制索引,请参阅 this;如果使用的是 DataImportHandler,请参阅 this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多