【问题标题】:How to boost score of Solr search results based on criteria?如何根据条件提高 Solr 搜索结果的分数?
【发布时间】:2011-06-30 04:33:56
【问题描述】:

背景:

1 - 我正在使用 WebSolr 进行此搜索。 2 - 我在 websolr 中存储了两个字段 - 名称和 ID。

我想根据名称搜索这些条目并根据此条件提高搜索分数:

if id in [x1,x2..xN] then +2
if id in [y1,y2..yN] then +1
else +0

根据我的研究,答案在于以下 - 功能查询,或 - DisMaxQParser

我查看了文档,但 IMO 不是很全面。

感谢任何帮助。

【问题讨论】:

    标签: ruby-on-rails lucene solr websolr


    【解决方案1】:

    您可以使用提升。尝试类似的查询

    name:searchString AND ( id:[x1 TO xN] ^2 OR id:[y1 TO yN]^1)
    

    【讨论】:

      【解决方案2】:

      除了hkn的方法,你还可以使用DisMax query parser boost查询:

      q=queryString
      &defType=dismax
      &qf=…
      &bq=id:[x1+TO+xN]^3
      &bq=id:[y1+TO+yN]^2
      

      (未经测试,但应该传达这个想法。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-25
        • 2012-02-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多