提升查询编辑

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

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

示例请求编辑

response = client.search(
  body: {
    query: {
      boosting: {
        positive: {
          term: {
            text: 'apple'
          }
        },
        negative: {
          term: {
            text: 'pie tart fruit crumble tree'
          }
        },
        negative_boost: 0.5
      }
    }
  }
)
puts response
GET /_search
{
  "query": {
    "boosting": {
      "positive": {
        "term": {
          "text": "apple"
        }
      },
      "negative": {
        "term": {
          "text": "pie tart fruit crumble tree"
        }
      },
      "negative_boost": 0.5
    }
  }
}

boosting 的顶级参数编辑

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

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

如果返回的文档与 positive 查询和此查询匹配,则 boosting 查询会按如下方式计算文档的最终 相关性得分

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