`

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 : 强制返回数据的范围。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    聚合物表征与测试的(1-9)课件.zip

    聚合物表征与测试课件 3.GPC聚合物分子量及分子量分布表征方法.ppt 聚合物表征与测试课件 4.X射线衍射(XRD).ppt 聚合物表征与测试课件 5.microscope显微分析技术.ppt 聚合物表征与测试课件 6.DSC热分析.ppt 聚合物...

    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.使用仓库

    聚合物表征与测试课件 3.GPC聚合物分子量及分子量分布表征方法.ppt

    聚合物表征与测试课件 3.GPC聚合物分子量及分子量分布表征方法

    星益云聚合收银台系统源码.rar

    3.支持对接支付宝、微信支付、QQ钱包、易支付等支付接口 4.商户多接口收款,支持接口轮循收款,避免商户号风控 5.支持三种轮循收款模式,支付接口弹性开关 6.多款收款码模板任意选 7.详细的交易记录统计,不错过每一...

    牛闻联播 v1.0 Android版.zip

    牛闻联播是牛华网专为手机用户打造的专属客户端,每日精选20条最值得一读的新闻资讯,让你实时与资讯... 3.聚合牛华网所有深度原创资讯,传递科技、财经方面最具价值的报道  4.三种阅读模式,2G/3G/wifi环境顺畅浏览

    3链路聚合 .pka

    3链路聚合.pka

    WorkFlow Specify

    3. 聚合路由(Merge Routing).......................................................................................5 4. 条件路由(Conditional Routing) ..................................................

    H3C和CISCO交换机做聚合配置详细介绍.doc

    H3C和CISCO交换机做聚合配置详细介绍.doc

    327.注射稀释聚合物系统管道设计(UG).zip非标自动化设备solidworks3D图纸机械设计素材资料

    327.注射稀释聚合物系统管道设计(UG).zip非标自动化设备solidworks3D图纸机械设计素材资料 327.注射稀释聚合物系统管道设计(UG).zip非标自动化设备solid...3.适合小团队开发项目技术参考适合小团队开发项目技术参考

    精美3d立体聚合关系PowerPoint图表素材.rar

    精美3d立体聚合关系PowerPoint图表素材下载,关键词:3d立体幻灯片素材,PPT关系图模板,.PPTX格式;

    E桶金聚合搜索引擎 v4.0.rar

    3.增加聚合搜索日志的IP黑名单功能,轻松将一些不知名蜘蛛的ip加入黑名单,避免搜索日志迅速变大影响性能。 4.前台搜索界面仿百度的最新风格,更加简洁、实用。(重要) 5.对用户中心和用户注册登录界面全新改版,...

    MP3聚合搜索引擎(PHP开源).rar

    MP3聚合搜索引擎,英文版,不支持中文,php开源

    个码免签支付APP+聚合支付后台源码

    个码免签支付APP+聚合支付后台源码 搭建是没有什么问题、监控app需要反编译替换自己的域名, 大家自己测试。 据说这个app是自动生成收款码的不用输入金额的哦 还有代理后台 1.聚合支付 可以对接多个别人的支付 汇集到...

    电容器与开关电源

    开关电源中大量应用的电容器: 第一类:电解电容器 主要用于输入整流滤波、输出整流滤 波、辅助电源的旁路等 第二类:薄膜电容器 ...3. 聚合物电解电容器高频开关电源的输出整流滤波、高电流变化率 负载的电源旁路

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

    arcgis api 3实现聚合图效果功能源码-webgis初学者或者感兴趣者入门

    3_LTE_Advanced系统中的多载波聚合技术

    3_LTE_Advanced系统中的多3_LTE_Advanced系统中的多载波聚合技术载波聚合技术

    H3C交换机链路聚合

    三层链路聚合 [R111]int Route-Aggregation 3 创建者组号 [R111-Route-Aggregation1]ip add 192.168.254.1 24 配置IP地址 三层聚合可直接配置 ...[R111-if-range]port link-aggregation group 3 添加近聚合组

    科威聚合导航系统 1.7.rar

    3.自定义广告,无需修改文件即可修改广告,摆脱修改广告困扰; 4.用户注册功能,用户注册后可自定义收藏; 5.收录申请管理,使收录申请简单无忧; 5.自定义系统变量,常用字符后台同意修改; 6.自定义模板功能,...

    H3C_链路聚合基础配置案例

    H3C_链路聚合基础配置案例,原创文档。 适用于H3CV7版本的网络设备,包括交换机、路由器等。 搭建环境为HCL3.0.1,适用于刚入门的网络工程师学习参考。

Global site tag (gtag.js) - Google Analytics