复合查询
编辑复合查询
编辑复合查询封装其他复合查询或叶子查询,目的是组合它们的结果和分数、更改它们的行为或者从查询上下文切换到过滤上下文。
此组中的查询包括:
-
bool
查询 - 用于组合多个叶子查询或复合查询子句的默认查询,如
must
、should
、must_not
或filter
子句。must
和should
子句的分数会组合在一起 —— 匹配的子句越多,分数越高 —— 而must_not
和filter
子句则在过滤上下文中执行。 -
boosting
查询 - 返回匹配
positive
查询的文档,但降低也匹配negative
查询的文档的分数。 -
constant_score
查询 - 一个封装另一个查询的查询,但在过滤上下文中执行。所有匹配的文档都获得相同的“常数”
_score
。 -
dis_max
查询 - 一个接受多个查询的查询,并返回匹配任何查询子句的任何文档。虽然
bool
查询组合来自所有匹配查询的分数,但dis_max
查询使用单个最佳匹配查询子句的分数。 -
function_score
查询 - 使用函数修改主查询返回的分数,以考虑诸如受欢迎程度、新近度、距离或使用脚本实现的自定义算法等因素。