提升查询

编辑

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

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

示例请求

编辑
resp = client.search(
    query={
        "boosting": {
            "positive": {
                "term": {
                    "text": "apple"
                }
            },
            "negative": {
                "term": {
                    "text": "pie tart fruit crumble tree"
                }
            },
            "negative_boost": 0.5
        }
    },
)
print(resp)
response = client.search(
  body: {
    query: {
      boosting: {
        positive: {
          term: {
            text: 'apple'
          }
        },
        negative: {
          term: {
            text: 'pie tart fruit crumble tree'
          }
        },
        negative_boost: 0.5
      }
    }
  }
)
puts response
const response = await client.search({
  query: {
    boosting: {
      positive: {
        term: {
          text: "apple",
        },
      },
      negative: {
        term: {
          text: "pie tart fruit crumble tree",
        },
      },
      negative_boost: 0.5,
    },
  },
});
console.log(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
(必需,浮点数)介于 01.0 之间的浮点数,用于降低匹配 negative 查询的文档的相关性得分