组合查询之Boosting Query

Boosting query

返回与positive匹配的文档,同时减少与negative查询匹配的文档的相关性得分。

可以使用boosting 查询降级某些文档,而不将它们从搜索结果中排除。

示例查询

GET /_search
{
  "query": {
    "boosting": {
      "positive": {
        "term": {
          "text": "apple"
        }
      },
      "negative": {
        "term": {
          "text": "pie tart fruit crumble tree"
        }
      },
      "negative_boost": 0.5
    }
  }
}

boosting 的 Top-level 参数

positive

(必须,查询对象)您希望运行的查询。任何返回的文档都必须匹配此查询。

nagative

(必须, 查询对象)用来降低匹配文档的相关性得分的查询。

如果返回的文档匹配positive查询和此查询,boosting查询将计算该文档的最终相关性得分,如下所示:

  1. positive查询中取原始的相关性分数。

  2. 将分数乘以negative_boost值。

negative_boost

(Required, float) 0到1.0之间的浮点数,用于降低与negative查询匹配的文档的相关性得分。

参考:Elasticsearch官方文档:Boosting query

posted @ 2022-10-30 23:22  寒小韩  阅读(80)  评论(0编辑  收藏  举报