`

3.聚合

阅读更多

聚合

桶(Buckets)   相当于SQL中group by。满足特定条件的文档的集合

指标(Metrics) 相当于SQL中select key,count(key)。对桶内的文档进行统计计算,包含COUNT() 、 SUM() 、 MAX()等统计方法。

 

指标 

单值聚合

terms                   相当于SQL中 COUNT,求分组的和

avg                      相当于SQL中 AVG,求平均值

min                      相当于SQL中的MIN,求最小值

max                     相当于SQL中的MAX,求最大值

sum                     相当于SQL中的SUM,求和

cardinality            相当于SQL中的COUNT(DISTINCT)求唯一值,即不重复的字段有多少

histogram            按给定的值分组统计

date_histogram   按时间维度分组统计

多值聚合

percentile_ranks 求百分比

stats 多种聚合结果

extended_stats  多种聚合结果和扩展聚合结果

 

简单例子

 

GET /cars/transactions/_search
{
    "size" : 0,
    "aggs" : { 
        "popular_colors" : { 
            "terms" : { 
              "field" : "color",
              "size"  : 10
            }
        },
        "sex": {
          "terms": {
            "field": "sex"
          }
        }
    }
}
 

 

1.size 设置成 0 。不关心搜索结果的具体内容,所以将返回记录数设置为 0 来提高查询速度

2.聚合操作被置于顶层参数 aggs 之下(完整形式 aggregations 同样有效)。aggs中可以有一个或多个聚合

3.可以为聚合指定一个想要名称,本例中是: popular_colors 和sex,其中popular_colors取top10

4.定义单个桶的类型 terms

 

添加度量指标和嵌套桶

添加对量指标的例子,除显示有多少种颜色外,同时显示每种颜色的价格。通过添加新的 aggs 层。这个新的聚合层让我们可以将 avg 度量嵌套置于 terms 桶内。

 

GET /cars/transactions/_search
{
   "size" : 0,
   "aggs": {
      "colors": {
         "terms": {
            "field": "color"
         },
         "aggs": { 
            "avg_price": { 
               "avg": {
                  "field": "price" 
               }
            }
         }
      }
   }
}
 

 

另一个嵌套桶的列子,获取每种颜色的平均价格和制造商分布

 

GET /cars/transactions/_search
{
   "size" : 0,
   "aggs": {
      "colors": {
         "terms": {
            "field": "color"
         },
         "aggs": {
            "avg_price": { 
               "avg": {
                  "field": "price"
               }
            },
            "make": { 
                "terms": {
                    "field": "make" 
                }
            }
         }
      }
   }
}
 

 

更多的嵌套实例,获取每种颜色的平均价格和制造商分布同时,通过添加新的aggs层,获取各个制造商的最低价和最高价

 

GET /cars/transactions/_search
{
   "size" : 0,
   "aggs": {
      "colors": {
         "terms": {
            "field": "color"
         },
         "aggs": {
            "avg_price": { "avg": { "field": "price" }
            },
            "make" : {
                "terms" : { "field" : "make" },
                "aggs" : { 
                    "min_price" : { "min": { "field": "price"} }, 
                    "max_price" : { "max": { "field": "price"} } 
                }
            }
         }
      }
   }
}
 

 

 条形图

 直方图 histogram可以按区间分组统计数据,

 

GET /cars/transactions/_search
{
   "size" : 0,
   "aggs":{
      "price":{
         "histogram":{ 
            "field": "price",
            "interval": 20000
         },
         "aggs":{
            "revenue": {
               "sum": { 
                 "field" : "price"
               }
             }
         }
      }
   }
}
1.histogram 桶要求两个参数:一个数值字段以及一个定义桶大小间隔。

 

2.sum 度量嵌套在每个售价区间内,用来显示每个区间内的总收入。

 

按时间统计

例1:简单的时间分组统计

 

GET /cars/transactions/_search
{
   "size" : 0,
   "aggs": {
      "sales": {
         "date_histogram": {
            "field": "sold",
            "interval": "month", 
            "format": "yyyy-MM-dd" 
         }
      }
   }
}
 

 

 例2:按统计范围返回全部Buckets,包括空桶

 

GET /cars/transactions/_search
{
   "size" : 0,
   "aggs": {
      "sales": {
         "date_histogram": {
            "field": "sold",
            "interval": "month",
            "format": "yyyy-MM-dd",
            "min_doc_count" : 0, 
            "extended_bounds" : { 
                "min" : "2014-01-01",
                "max" : "2014-12-31"
            }
         }
      }
   }
}
1.min_doc_count : 这个参数强制返回空 buckets。

 

2.extended_bounds : 强制返回数据的范围。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    聚合物反应工程基础知识总结.pdf

    3. 聚合反应器设计 - 涉及搅拌器设计、反应器类型(如间歇、连续或半连续反应器),以及传热和传质对聚合反应的影响。 4. 聚合物的性质 - 分子量及其分布、玻璃化转变温度、热稳定性、机械强度、电性能、光学性质...

    聚合支付方案概述

    3. 聚合支付的特点:聚合支付可以提供灵活性、便捷性的支付服务,满足消费者和商户的需求。它可以降低接入的技术、沟通门槛,提高支付效率和安全性。 4. 聚合支付的架构:聚合支付架构主要包括三个部分:支付通道、...

    arcgis api for javascript 4.x 聚合

    3. 创建聚合图层,设置聚合策略。例如,使用`esri/views/3d/layers/ClusterLayer`并配置`clusterRadius`属性来指定聚合半径。 4. 将点数据图层添加到聚合图层中,再将聚合图层添加到视图。 5. 可以通过监听图层的`...

    局域网协议-以太网链路聚合技术介绍.pdf

    3. 聚合接口的编号:聚合组与聚合接口的编号是一一对应的,譬如聚合组 1 对应于聚合接口 1。 4. 三层聚合子接口:在创建了三层聚合接口之后,还可以继续创建该三层聚合接口的子接口(简称三层聚合子接口)。三层...

    1.1.maven简介.mp4

    本系列课程从maven基础到高级,老师手把手...3.聚合和继承 3.1.聚合 3.2.继承 4.maven高级特性 4.1.属性配置 4.2.版本管理 4.3.资源管理 5.私服 5.1.nexus安装 5.2.仓库的分类 5.3.创建仓库 5.4.配置仓库 5.5.使用仓库

    分布式链路聚合技术[定义].pdf

    3. 分布式链路聚合控制,用户可以在任何unit上管理和配置所有聚合链路,简化了操作。 在IRF架构下,多台设备被视为单一单元,DLA模块处理端口位置的细节,允许跨设备的端口聚合,实现数据收发、负载分担和动态备份...

    聚合函数相关知识.docx

    3. 聚合函数适用的数据类型: - 数值类型(如 INT、FLOAT、DECIMAL):适用于求和、平均等计算。 - 日期时间类型(如 DATETIME、TIMESTAMP):可以计算时间间隔等。 4. 聚合函数与普通函数的区别: - 聚合函数...

    arcgisforjs 4.x 聚合、聚合个数文本展示 效果

    本案例根据官网所提供的案例进行扩展,除了可进行要素筛进行聚合的分类展示,并可居中展示聚合个数文本。

    2018-2019学年高中政治四结合实践善于创新4.3驾驭聚合思维练习.pdf

    3. 聚合思维的特点 - 过程严谨性:聚合思维的过程通常涉及严谨的逻辑推理,确保结论的合理性。 - 思路归一性:思考的路径倾向于集中,以达到统一的解决方案。 - 结论可论证性:聚合思维的结果通常是经过逻辑论证和...

    实验二:甲基丙烯酸甲酯的本体聚合.pdf

    3. 聚合:封口试管,放入40~50℃烘箱中聚合24小时,然后在100℃处理0.5至1小时。 4. 脱模:敲碎试管,取出聚合物有机玻璃。 【实验思考】: 1. 制备预聚物是为了控制散热,避免自动加速效应导致的爆聚现象,减少...

    基于CUDA的GPU条件分支分歧聚合优化策略.pdf

    3. 聚合思想:一种基于聚合思想的SIMD条件分支优化策略,通过将不同SIMD道中的条件分支聚合到同一个循环步骤中,减少了SIMD操作的实际次数。 4. 循环推迟策略:一种基于聚合思想的SIMD条件分支优化策略,将条件分支...

    arcgis api 3.x for js 入门开发系列八聚合效果.zip

    《ArcGIS API 3.x for JavaScript 入门开发系列八:聚合效果》 在Web GIS应用开发中,ArcGIS API for JavaScript是一个强大的工具,它允许开发者创建交互式的地图应用程序。本系列教程聚焦于3.x版本,这个版本在...

    浙江理工大学2017-2019年历年研究生入学考试试卷,代码:924.pdf

    3. 聚合动力学特征与引发剂的选择: - 自由基聚合的动力学特征涉及链引发、链增长和链终止等过程。 - 引发剂的选择对聚合速率有重要影响,常见的引发剂包括偶氮化合物、过氧化物等。 4. 聚合方法的分类: - 熔融...

    maven继承与聚合代码

    本篇文章将深入探讨Maven的两个重要特性:继承(Inheritance)和聚合(Aggregation),并结合提供的资源《一头扎进Maven3》第五讲源码及文档进行详细解释。 **一、Maven继承** Maven的继承机制允许我们在多个项目...

    高分子化学期末试卷.doc

    3. 聚合物基本单元:以聚乙烯为例,其构造单元是乙烯单元,也称为单体单元、重复单元或链节。无定形高聚物的物理状态和力学性质随温度变化,其中Tg(玻璃化温度)表示材料从硬脆转变为橡胶状的转变点,Tf(黏流温度...

    L搜聚合搜索引擎.zip

    3. 聚合策略:L搜的核心特性在于其聚合能力。它不局限于单一的索引库,而是将多个来源的搜索结果进行整合,这包括但不限于新闻、学术论文、社交媒体、论坛讨论等多种类型的数据源。 4. 智能匹配:L搜运用自然语言...

    行业资料-电子功用-化学聚合溶液、导电聚合物固体片式铝电解电容器及其制备方法的说明分析.rar

    3. 聚合反应:在控制温度和时间的条件下,引发剂促使单体进行聚合,生成导电聚合物。 4. 固化处理:聚合物溶液涂覆在铝箔上后,通常需要进行固化处理,以形成固态聚合物膜。这可以通过加热、烘干或者采用其他物理或...

    h3c链路聚合

    h3c链路聚合 h3c链路聚合是华三交换机的一种链路聚合技术,可以实现多个物理链路的聚合,提高网络的可靠性和带宽。链路聚合可以分为静态链路聚合和动态链路聚合两种,静态链路聚合是指手动配置链路聚合组的成员端口...

    供应链管理第三版Unit8习题集和答案解析.doc

    3. 聚合计划解决的是总体决策问题,而非单品级别的决策。这也是正确的,它关注的是整个产品组合而非单一产品的产量。 4. 传统上,聚合计划主要集中在企业内部,并不总是被视为供应链管理的一部分。这同样是一个正确...

Global site tag (gtag.js) - Google Analytics