2019独角兽企业重金招聘Python工程师标准>>>

Elasticsearch的聚合主要分成两大类:metric和bucket,2.0中新增了pipeline还没有研究。本篇还是来介绍Bucket聚合中的常用聚合——date histogram.参考:官方文档

用法

Date histogram的用法与histogram差不多,只不过区间上支持了日期的表达式。

{
"aggs":{"articles_over_time":{"date_histogram":{"field":"date","interval":"month"}}}
}

interval字段支持多种关键字:`year`, `quarter`, `month`, `week`, `day`, `hour`, `minute`, `second`

当然也支持对这些关键字进行扩展使用,比如一个半小时可以定义成如下:

{"aggs":{"articles_over_time":{"date_histogram":{"field":"date","interval":"1.5h"}}}
}

返回的结果可以通过设置format进行格式化:

{"aggs":{"articles_over_time":{"date_histogram":{"field":"date","interval":"1M","format":"yyyy-MM-dd"}}}}

得到的结果如下:

{"aggregations":{"articles_over_time":{"buckets":[{"key_as_string":"2013-02-02","key":1328140800000,"doc_count":1},{"key_as_string":"2013-03-02","key":1330646400000,"doc_count":2},...]}}
}

其中key_as_string是格式化后的日期,key显示了是日期时间戳,

time_zone时区的用法

在es中日期支持时区的表示方法,这样就相当于东八区的时间。

{"aggs":{"by_day":{"date_histogram":{"field":"date","interval":"day","time_zone":"+08:00"}}}
}

offset 使用偏移值,改变时间区间

默认情况是从凌晨0点到午夜24:00,如果想改变时间区间,可以通过下面的方式,设置偏移值:

{"aggs":{"by_day":{"date_histogram":{"field":"date","interval":"day","offset":"+6h"}}}
}

那么桶的区间就改变为:

"aggregations":{"by_day":{"buckets":[{"key_as_string":"2015-09-30T06:00:00.000Z","key":1443592800000,"doc_count":1},{"key_as_string":"2015-10-01T06:00:00.000Z","key":1443679200000,"doc_count":1}]}
}

Missing Value缺省字段

当遇到没有值的字段,就会按照缺省字段missing value来计算:

{"aggs":{"publish_date":{"date_histogram":{"field":"publish_date","interval":"year","missing":"2000-01-01"}}}
}

其他

对于其他的一些用法,这里就不过多赘述了,比如脚本、Order、min_doc_count过滤,extended_bounds等都是支持的。

转载于:https://my.oschina.net/u/204616/blog/545390

Elasticsearch聚合 之 Date Histogram聚合相关推荐

  1. 白话Elasticsearch37-深入聚合数据分析之案例实战Date Histogram Aggregation:统计每月电视销量

    文章目录 概述 官方说明 实例: 统计每月电视销量,没有销量的月份也要统计 概述 继续跟中华石杉老师学习ES,第37篇 课程地址: https://www.roncoo.com/view/55 官方说 ...

  2. Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合

    Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...

  3. Elasticsearch Java API 分组、聚合、嵌套相关查询

    Elasticsearch Java API 分组.聚合.嵌套相关查询 翼支付监控系统正使用es做后端存储,这边我们是将日志计算处理过后的数据通过kafka储存到es.选择用es作为数据储存端是考虑到 ...

  4. (转)Elasticsearch 聚合查询、桶聚合、管道聚合及复合查询

    转自: https://blog.csdn.net/zx711166/article/details/81906881 聚合查询 聚合是一种基于查询条件对数据进行分桶.计算的方法. 聚合可以嵌套,由此 ...

  5. Es elasticsearch 十七 Java api 实现聚合 几个聚合示例 sql 开启许可 新特效 java 实现es7 sql 功能

    目录 Java api 实现聚合 依赖 简单聚合按照颜色分组获取每个卖出数量 聚合每个颜色卖出数量,及平均价格(每个分桶子聚合) 按照颜色分组 ,获取销售数量,avg min max sum 按照60 ...

  6. 【Spring Data ElasticSearch】高级查询,聚合

    [Spring Data ElasticSearch]高级查询,聚合 1. 高级查询 1.1 基本查询 1.2 自定义查询 1.3 分页查询 1.4 排序 2. 聚合 2.1 聚合为桶 2.2 嵌套聚 ...

  7. ElasticSearch实现商品搜索与聚合分析

    ElasticSearch实现商品搜索与聚合分析 Gitee地址:https://gitee.com/yuyuuyuy/micro-mall 文章目录 ElasticSearch实现商品搜索与聚合分析 ...

  8. Elasticsearch中的date与时区问题

    1 前言 本文主要讲解Elasticsearch中date类型数据的底层存储原理,以及对带时区日期字符串和不带时区的日期字符串如何在ES底层存储进行验证.对于直接存储Long类型时间戳,不作过多描述. ...

  9. es的聚合mysql聚合速度_Elasticsearch(8) --- 聚合查询(Metric聚合)

    摘要: quot;:0,"aggs":{"stats_salary":{"stats":{"field":"s ...

最新文章

  1. 正则满足中文的顿号_常用的正则表达式、正则表达式之断言
  2. 产品经理成长三五事儿:搭建自己的成长模型
  3. sql2005新增排序方法
  4. 章鱼黑的第一篇博客~
  5. 基于Fragment的百度地图框架的使用
  6. [论文阅读] End-to-End Incremental Learning
  7. springMVC视图解析器的配置和使用
  8. linux java 自动安装_Centos7 linux 卸载自带安装的jdk 并yum自动安装jdk1.8
  9. WebSphere水平集群集成IHS
  10. tp6中的助手函数是什么意思?
  11. 热插拔48块硬盘服务器,中云网眼WEM-SAN100/48B48盘位网络存储设备IP-SAN
  12. 未能加载文件或程序集 Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken= 1cee9f8bde3db106或它的某
  13. 恋爱骗局泛滥,过亿单身女性成待宰羔羊!
  14. Linux软链接的创建 删除 修改
  15. 自动化测试构架之Robot Framework——01 介绍
  16. 记者讲述iPhone被盗46天后成功找回的经历
  17. 2018校招笔试真题汇总(java/C++)
  18. Java飞扬的小鸟游戏
  19. Unity 3D结构界面详细说明
  20. 8086/8088CPU内部结构,引脚图,物理地址与逻辑地址

热门文章

  1. Go 语言标准库中 atomic.Value
  2. static和不完全类型的一个例子
  3. 寻找峰值(局部最大、局部最小)——二分查找
  4. A Simple Math Problem
  5. centos 编译nginx php mariadb,centos7安装nginx+mariadb+php-fpm
  6. Linux Increase The Maximum Number Of Open Files / File Descriptors (FD)
  7. cmd 无法切换目录
  8. SQLite使用手记
  9. idea自定义快捷鍵
  10. 【最新】docker 安装elasticsearch + kibana步骤【第二篇_kibana】