Elasticsearch聚合 之 Date Histogram聚合
来源:互联网 发布:古诗欣赏的软件 编辑:程序博客网 时间:2024/05/29 10:30
Elasticsearch聚合 之 Date Histogram聚合
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等都是支持的。
阅读全文
0 0
- Elasticsearch聚合 之 Date Histogram聚合
- Elasticsearch聚合 之 Date Histogram聚合
- elasticsearch 之Aggregation聚合
- Elasticsearch聚合 之 Range区间聚合
- Elasticsearch聚合 之 DateRange日期范围聚合
- ElasticSearch核心基础之聚合
- Elasticsearch聚合
- Elasticsearch]聚合
- ElasticSearch聚合
- ElasticSearch聚合
- Elasticsearch聚合 之 Ip Range IP地址范围聚合
- ElasticSearch之Java Api聚合分组实战
- ElasticSearch之Java Api聚合分组实战
- elasticsearch概念之索引、搜索和聚合
- [Elasticsearch] 聚合的测试数据
- Elasticsearch分组聚合-查询
- ElasticSearch聚合aggs入门
- Elasticsearch笔记-聚合
- UML核心视图
- 组合数在线
- 特征选择之python实战(一)
- java的序列化或Serializable接口的作用
- 并查集&&压缩路径
- Elasticsearch聚合 之 Date Histogram聚合
- Java 源程序与编译型运行区别
- stm32 待机模式
- Gradle 多项目管理
- 快速排序(quick sort) C ~
- elasticsearch
- Load和CPU利用率
- hpu1415——小ho的01串
- C可变参数的实现