【问题标题】:Solr Boost on non-query term非查询词的 Solr Boost
【发布时间】:2011-12-01 09:57:33
【问题描述】:

我所有的结果都是“活跃的、不活跃的、历史的”类型——这是一个由 Solr 索引的字段。

我希望返回的结果提升为 type="active"

我可以订购就足够了,但它不是很好。

因此,当用户搜索“生病”一词时,他们会得到与生病最相关的结果,但对于处于活动状态的文档来说,搜索结果会更高。

不仅仅是一个排序的结果集!

【问题讨论】:

    标签: solr edismax


    【解决方案1】:

    您可以使用edismax parser 和以下提升查询bq 参数将您想要的结果提升到顶部...

     http://localhost:8983/solr/select/?q=sick&defType=edismax&bq=type:active^5.0
    

    在本例中,您将添加一个提升查询来增加类型为活动的文档的相关性。

    以下是 Solr Wiki DisMaxQParserPlugin 页面上的更多示例。

    【讨论】:

      【解决方案2】:

      上面的示例将创建一个加法提升。 如果您想要“type=active”的乘法提升,您可以添加:

      &boost=if(termfreq(type,"active"),2,1)

      这为“type=active”提供了 2 倍的提升

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 2017-06-17
      • 2018-09-19
      • 2012-12-07
      • 1970-01-01
      相关资源
      最近更新 更多