白话Elasticsearch36-深入聚合数据分析之案例实战Histogram Aggregation:按价格区间统计电视销量和销售额
生活随笔
收集整理的這篇文章主要介紹了
白话Elasticsearch36-深入聚合数据分析之案例实战Histogram Aggregation:按价格区间统计电视销量和销售额
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 概述
- 官方說明
- 案例
概述
繼續跟中華石杉老師學習ES,第36篇
課程地址: https://www.roncoo.com/view/55
官方說明
Histogram Aggregation: 戳這里
histogram:類似于terms,也是進行bucket分組操作,接收一個field,按照這個field的值的各個范圍區間,進行bucket分組操作 .
"histogram":{ "field": "price","interval": 2000 },-
interval:2000,劃分范圍,0~2000,2000~4000,4000~6000,6000~8000,8000~10000類似的,每個范圍對應一個bucket
-
根據price的值,比如2500,看落在哪個區間內,落在2000~4000,此時就會將這條數據放入2000~4000對應的那個bucket中
-
histogram也是bucket劃分的一種方法,就好比terms,將field值相同的數據劃分到一個bucket中
bucket有了之后,就可以對每個bucket執行avg,count,sum,max,min,等各種metric操作,聚合分析
案例
需求: 按價格區間統計電視銷量和銷售額
原始數據:
DSL:
GET /tvs/sales/_search {"size" : 0,"aggs":{"price":{"histogram":{ "field": "price","interval": 2000},"aggs":{"revenue": {"sum": { "field" : "price"}}}}} }返回數據
{"took": 3,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 8,"max_score": 0,"hits": []},"aggregations": {"price": {"buckets": [{"key": 0,"doc_count": 3,"revenue": {"value": 3700}},{"key": 2000,"doc_count": 4,"revenue": {"value": 9500}},{"key": 4000,"doc_count": 0,"revenue": {"value": 0}},{"key": 6000,"doc_count": 0,"revenue": {"value": 0}},{"key": 8000,"doc_count": 1,"revenue": {"value": 8000}}]}} }總結
以上是生活随笔為你收集整理的白话Elasticsearch36-深入聚合数据分析之案例实战Histogram Aggregation:按价格区间统计电视销量和销售额的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白话Elasticsearch35-深入
- 下一篇: 白话Elasticsearch37-深入