程序猿
微录

ElasticSearch之组合查询 ---> 相关性调整查询【boosting】

程序猿微录 发布于: 2021-01-20 11:31 38 0 0 0
首页
文章
专栏
问答
寄语
公告
  • 前往登录

ElasticSearch之组合查询 ---> 相关性调整查询【boosting】

程序猿微录 发布于 2021-01-20 11:31 38 0 0 0
所属文册: 搜索引擎 文章标签: ElasticSearch 、BoostingQuery

boosting query

boosting查询用于调整查询结果相关性得分,使得相关性高的排序值高

支持的参数

  • positive:必须,子查询,这个查询的主题
  • negative:必须,子查询,这个是用来调整得分的查询,匹配了该查询的结果都会根据得分比重重新计算得分
  • negative_boost:必须,调整的得分比重,值为浮点型,范围在0~1.0之间,也就是只能降低得分

示例

# 基本数据
PUT /index_boosting

PUT /index_boosting/_doc/1
{"name":"apple"}
PUT /index_boosting/_doc/2
{"name":"append"}
PUT /index_boosting/_doc/3
{"name":"address"}

查询,以下示例中,默认得分都是1.0,但是使用negative后,其得分会降低到0.5

# 将negative匹配的字段得分降低,使其出现的顺序降低
POST /index_boosting/_search
{
  "query": {
    "boosting": {
      "positive": {
        "prefix": {
          "name": {
            "value": "a"
          }
        }
      },
      "negative": {"term": {
        "name": {
          "value": "append"
        }
      }},
      "negative_boost": 0.5
    }
  }
}