Elasticsearch复合查询——boosting查询

返回匹配positive查询的文档,同时降低也匹配negative查询的文档的相关性得分。

您可以使用boosting查询来降低某些文档的匹配度,而不必将它们从搜索结果中排除。

请求示例:

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

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

negative
(必选,查询对象)用于降低匹配文档的关联评分的查询。

如果一个文档同时匹配positive和negative查询,boosting query如下计算相关性得分:

  1. 从positive查询中获取原始的相关性分数。
  2. 将分数乘以negative_boost值。

negative_boost
介于0~1.0之间的浮点数,用于降低与negative查询匹配的文档的相关性得分。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!