在ES里面所有的聚合实例都由AggregationBuilders类提供静态方法构造,我们先看下常用有哪些方法使用:
上面这些基本就是常用的聚合查询了,在嵌套(nested)下面的子聚合查询就是嵌套查询了,除了嵌套查询,其他的聚合查询也可以无限级添加子查询 举一个二级分组的例子:
注意上面的例子 ,二级子查询可以添加多种类型,比如第一级按照名字分组,第二级可以添加一个max或者min的子聚合查询。 下面看一个嵌套聚合的例子:
嵌套的查询功能非常丰富,此外还有更强大Pipeline Aggregations聚合可以对上层的嵌套结果继续做操作,例如sql里面的having功能也可以实现,本篇简单的介绍了es的聚合
查询的种类和简单使用,感兴趣的朋友可以通过官网详细学习下。