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如下计算相关性得分:
- 从positive查询中获取原始的相关性分数。
- 将分数乘以negative_boost值。
negative_boost
介于0~1.0之间的浮点数,用于降低与negative查询匹配的文档的相关性得分。
本作品采用《CC 协议》,转载必须注明作者和本文链接