【问题标题】:How can I boost a query based on a number in Solr如何根据 Solr 中的数字提升查询
【发布时间】:2014-05-08 17:24:36
【问题描述】:

如何提升基于整数字段的查询。

例如,我有一个名为 highlight 的字段,其值可以是 0、10 或 20。

我想提高我的搜索,其中突出显示值为 20 的文档出现在 10 和 0 之前。

我的查询是 select/?q=Ford+Fiesta+Preto&defType=edismax&qf=brand+model+color^2&bq=highlight:10

【问题讨论】:

标签: solr


【解决方案1】:

在查询中使用FunctionQuery

Solr 可以用以下语法解析函数查询。

一些例子...

# 受欢迎程度的简单提升

defType=lucene&df=text&q=%2Bsupervillians+_val_:"popularity"
  defType=dismax&qf=text&q=supervillians&bf=popularity
  q={!boost b=popularity}text:supervillians

# 基于流行度字段的复杂函数的提升

defType=lucene&q=%2Bsupervillians+_val_:"sqrt(popularity)"
  defType=dismax&qf=text&q=supervillians&bf=sqrt(popularity)
  q={!boost b=sqrt(popularity)}text:supervillians

【讨论】:

    猜你喜欢
    • 2014-01-05
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2014-04-18
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    相关资源
    最近更新 更多