复合查询家族

<< Ids Query                                                                                                                      Constant Score Query >>


复合查询用来包装其他复合或者叶子查询,一方面可综合其结果和分数,从而改变它的行为,另一方面可从查询切换到过滤器上下文。此类查询包含:

constant_score 查询

这是一个包装其他查询的查询,并且在过滤器上下文中执行。与此查询匹配的所有文件都需要返回相同的“常量” __score_

bool 查询

组合多个叶子并发查询或复合查询条件的默认查询类型,例如must, should, must_not, 以及 filter 条件。 在 mustshould 子句他们的分数相结合-匹配条件越多,预期越好-而 must_notfilter 子句在过滤器上下文中执行。

dis_max 查询

支持多并发查询的查询,并可返回与任意查询条件子句匹配的任何文档类型。与 bool 查询可以将所有匹配查询的分数相结合使用的方式不同的是,dis_max 查询只使用最佳匹配查询条件的分数。

function_score 查询

使用函数修改主查询返回的分数,以考虑诸如流行度,新近度,距离或使用脚本实现的自定义算法等因素。

boosting 查询

返回匹配 positive 查询的文档,并且当减少文档的分数时其结果也匹配 negative 查询。

indices 查询

对指定的索引执行一个查询,对其他索引执行另一个查询。


<< Ids Query Constant Score Query >>