复合查询

编辑

复合查询封装其他复合查询或叶子查询,目的是组合它们的结果和分数、更改它们的行为或者从查询上下文切换到过滤上下文。

此组中的查询包括:

bool 查询
用于组合多个叶子查询或复合查询子句的默认查询,如 mustshouldmust_notfilter 子句。mustshould 子句的分数会组合在一起 —— 匹配的子句越多,分数越高 —— 而 must_notfilter 子句则在过滤上下文中执行。
boosting 查询
返回匹配 positive 查询的文档,但降低也匹配 negative 查询的文档的分数。
constant_score 查询
一个封装另一个查询的查询,但在过滤上下文中执行。所有匹配的文档都获得相同的“常数” _score
dis_max 查询
一个接受多个查询的查询,并返回匹配任何查询子句的任何文档。虽然 bool 查询组合来自所有匹配查询的分数,但 dis_max 查询使用单个最佳匹配查询子句的分数。
function_score 查询
使用函数修改主查询返回的分数,以考虑诸如受欢迎程度、新近度、距离或使用脚本实现的自定义算法等因素。