原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/query-dsl-boosting-query.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/query-dsl-boosting-query.html

boosting查询

返回匹配 positive(肯定) 查询的文档,同时降低匹配 negative(否定) 查询的文档的 相关性评分

可以使用 boosting 查询来降级某些文档(降低其相关性评分),但不会将它们从搜索结果中排除。

请求示例

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

用于 boosting 的顶级参数

positive
(必需的, query 对象) 你想运行的查询。 任何返回的文档都必须与该查询匹配。
negative

(必需的, query 对象) 用于降低匹配文档的 相关性评分 的查询。

如果返回的文档匹配 positive 查询和该查询,则 boosting 查询像下面这样计算该文档的最终 相关性评分 :

  1. positive 查询中获取原始相关性评分。
  2. 将该分数值乘以 negative_boost 值。
negative_boost
(必需的, float) 一个介于 01.0 之间的浮点数,用于降低与 negative 查询匹配的文档的 相关性评分