【问题标题】:Solr Boosting failedSolr 提升失败
【发布时间】:2021-11-26 00:21:21
【问题描述】:

我们在搜索结果中应优先考虑以下字段

名称(优先级 1)
代码(优先级 2)
说明(优先级 3)
简短描述(优先级 4)

我们应用的 Boost 查询:

bq=(Name)^50&bq=(Code)^40&bq=(Description)^30&bq=(Short description)^20

问题描述:

由于优先级 3 的项目高于优先级 2,因此提升不起作用。

搜索结果输出:

名称(优先级 1)

描述(优先级 3)

代码(优先级 2)

简短说明(优先级 4)

我们为解决此问题所做的工作:

我们应用了恒定分数 (^=),并且还尝试为代码 (P2) 给出比描述 (P3) 更高的分数,但这也没有给出预期的结果。

我们需要什么:

搜索结果应根据提升值指定的优先级进行排序。

请指教。

【问题讨论】:

  • 您可能需要调整增强因子。我会首先将debug=true 添加到查询中并查看文档的得分情况(在结果中查找“调试/解释”)
  • 谢谢赫克托。我使用“tie”参数来改善结果。但是,必须启用调试来识别没有按照提升优先级的少数字段。此外,已经看到启用调试的结果不容易阅读。有没有更好的方法让它简单易读。
  • 确实,“解释”信息很难阅读。它充满了很好的信息,但很难阅读。我在这里写了一些博客:library.brown.edu/create/digitaltechnologies/…我希望它有所帮助。

标签: boost solr edismax


【解决方案1】:

这就是你使用 bq 的方式:

/select?q=*:*&bq=name:*^100&bq=code:*^100&defType=edismax&fl=score,*

您应用“新查询”进行提升。

这就是你使用 bf 的方式:

/select?defType=edismax&fl=score,*&q=*:*&bf=numeric_field^1.5

你可以在solr query parser阅读更多关于如何使用/限制bf/bq

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 2013-01-15
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多