组合查询之Boosting Query

Boosting query

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

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

示例查询

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

boosting 的 Top-level 参数

positiveelasticsearch

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

nagativeui

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

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

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

  2. 将分数乘以negative_boost值。文档

negative_boostget

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

参考:Elasticsearch官方文档:Boosting query