aggregations 详解1(概述)

Posted 小鱼#

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aggregations 详解1(概述)相关的知识,希望对你有一定的参考价值。

aggregation分类

aggregations —— 聚合,提供了一种基于查询条件来对数据进行分组的方法。类似于 SQL 中的 group by 操作。

聚合可以嵌套,由此可以组成复杂的操作(Bucketing聚合可以包含sub-aggregation)。

聚合整体上可以分为 3 类:

1. Bucketing:桶分聚合:

  • 此类聚合会有一个关键字(field、script),以及一些分组的标准(条件)。执行聚合操作时候,文档会对每一个分组标准进行判断,如果文档满足了某个标准,该文档就会被分为该组(fall in)。

2. Metric:度量值聚合:

  • 对一组文档进行跟踪并计算其度量值的聚合。

3. Pipeline:管道聚合:

  • 对其它聚合操作的输出及其关联指标进行聚合。

 

aggregation结构

"aggregations" : {                                //定义聚合对象,也可用 "aggs"
      "<aggregation_name>" : {                    //聚合的名称,用户自定义
          "<aggregation_type>" : {                //聚合类型,比如 "histogram"
              <aggregation_body>                  //每个聚合类型都有其自己的结构定义
          }
          [,"meta" : {  [<meta_data_body>] } ]?
          [,"aggregations" : { [<sub_aggregation>]+ } ]?    //可以定义多个 sub-aggregation
      }
      [,"<aggregation_name_2>" : { ... } ]*       //定义额外的多个平级 aggregation,只有 Bucketing 类型才有意义
}

 

以上是关于aggregations 详解1(概述)的主要内容,如果未能解决你的问题,请参考以下文章

aggregation 详解4(pipeline aggregations)

aggregation 详解2(metrics aggregations)

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

072:Django数据库ORM聚合函数详解-aggregate和annotate

Django基础aggregate和annotate方法使用详解与示例

Fragment使用详解