日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Elasticsearch聚合 之 Date Histogram聚合

發(fā)布時(shí)間:2024/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Elasticsearch聚合 之 Date Histogram聚合 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

Elasticsearch的聚合主要分成兩大類:metric和bucket,2.0中新增了pipeline還沒有研究。本篇還是來介紹Bucket聚合中的常用聚合——date histogram.參考:官方文檔

用法

Date histogram的用法與histogram差不多,只不過區(qū)間上支持了日期的表達(dá)式。

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

interval字段支持多種關(guān)鍵字:`year`, `quarter`, `month`, `week`, `day`, `hour`, `minute`, `second`

當(dāng)然也支持對這些關(guān)鍵字進(jìn)行擴(kuò)展使用,比如一個(gè)半小時(shí)可以定義成如下:

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

返回的結(jié)果可以通過設(shè)置format進(jìn)行格式化:

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

得到的結(jié)果如下:

{"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顯示了是日期時(shí)間戳,

time_zone時(shí)區(qū)的用法

在es中日期支持時(shí)區(qū)的表示方法,這樣就相當(dāng)于東八區(qū)的時(shí)間。

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

offset 使用偏移值,改變時(shí)間區(qū)間

默認(rèn)情況是從凌晨0點(diǎn)到午夜24:00,如果想改變時(shí)間區(qū)間,可以通過下面的方式,設(shè)置偏移值:

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

那么桶的區(qū)間就改變?yōu)?#xff1a;

"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缺省字段

當(dāng)遇到?jīng)]有值的字段,就會(huì)按照缺省字段missing value來計(jì)算:

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

其他

對于其他的一些用法,這里就不過多贅述了,比如腳本、Order、min_doc_count過濾,extended_bounds等都是支持的。

轉(zhuǎn)載于:https://my.oschina.net/u/204616/blog/545390

總結(jié)

以上是生活随笔為你收集整理的Elasticsearch聚合 之 Date Histogram聚合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。