白话Elasticsearch32-深入聚合数据分析之案例实战Terms Aggs 统计哪种颜色电视销量最高
文章目录
- 概述
- Terms Aggregation官方文档
- 案例一 : 统计哪种颜色电视销量最高
- 模拟数据
- 统计哪种颜色的电视销量最高
- size 参数 示例
- 外层size
- terms节点下的size
概述
继续跟中华石杉老师学习ES,第32篇
课程地址: https://www.roncoo.com/view/55
Terms Aggregation官方文档
官方文档: 戳这里
详细说明,参考官网即可,下面我们用示例来演示下
案例一 : 统计哪种颜色电视销量最高
模拟数据
创建索引
PUT /tvs
{"mappings": {"sales": {"properties": {"price": {"type": "long"},"color": {"type": "keyword"},"brand": {"type": "keyword"},"sold_date": {"type": "date"}}}}
}
模拟一批数据
POST /tvs/sales/_bulk
{ "index": {}}
{ "price" : 1000, "color" : "红色", "brand" : "长虹", "sold_date" : "2016-10-28" }
{ "index": {}}
{ "price" : 2000, "color" : "红色", "brand" : "长虹", "sold_date" : "2016-11-05" }
{ "index": {}}
{ "price" : 3000, "color" : "绿色", "brand" : "小米", "sold_date" : "2016-05-18" }
{ "index": {}}
{ "price" : 1500, "color" : "蓝色", "brand" : "TCL", "sold_date" : "2016-07-02" }
{ "index": {}}
{ "price" : 1200, "color" : "绿色", "brand" : "TCL", "sold_date" : "2016-08-19" }
{ "index": {}}
{ "price" : 2000, "color" : "红色", "brand" : "长虹", "sold_date" : "2016-11-05" }
{ "index": {}}
{ "price" : 8000, "color" : "红色", "brand" : "三星", "sold_date" : "2017-01-01" }
{ "index": {}}
{ "price" : 2500, "color" : "蓝色", "brand" : "小米", "sold_date" : "2017-02-12" }
原始数据:
统计哪种颜色的电视销量最高
DSL
GET /tvs/sales/_search
{"size": 0,"aggs": {"popular_colors": {"terms": {"field": "color"}}}
}
解读:
- size:只获取聚合结果,而不要执行聚合的原始数据
- aggs:固定语法,要对一份数据执行分组聚合操作
- popular_colors:就是对每个aggs,都要起一个名字,自定义,叫啥都行
- terms:根据字段的值进行分组
- field:根据指定的字段的值进行分组
类比官方介绍
返回结果:
- hits.hits:我们指定了size是0,所以hits.hits就是空的,否则会把执行聚合的那些原始数据给你返回回来
- aggregations:聚合结果
- popular_color:我们指定的某个聚合的名称
- buckets:根据我们指定的field划分出的buckets
- key:每个bucket对应的那个值
- doc_count:这个bucket分组内,有多少个数据
类比官网说明
每种颜色对应的bucket中的数据的数量,其实就是这种颜色的销量
默认的排序规则:按照doc_count降序排序
size 参数 示例
外层size
当我们 外层不加size的时候,会返回执行聚合的那些原始数据
GET /tvs/sales/_search
{"aggs": {"popular_color": {"terms": {"field": "color"}}}
}
返回
{"took": 2,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 8,"max_score": 1,"hits": [{"_index": "tvs","_type": "sales","_id": "QzGrtGwBCp8vhw_gCmb9","_score": 1,"_source": {"price": 2000,"color": "红色","brand": "长虹","sold_date": "2016-11-05"}},{"_index": "tvs","_type": "sales","_id": "PzGrtGwBCp8vhw_gCmb9","_score": 1,"_source": {"price": 2000,"color": "红色","brand": "长虹","sold_date": "2016-11-05"}},{"_index": "tvs","_type": "sales","_id": "QDGrtGwBCp8vhw_gCmb9","_score": 1,"_source": {"price": 3000,"color": "绿色","brand": "小米","sold_date": "2016-05-18"}},{"_index": "tvs","_type": "sales","_id": "QjGrtGwBCp8vhw_gCmb9","_score": 1,"_source": {"price": 1200,"color": "绿色","brand": "TCL","sold_date": "2016-08-19"}},{"_index": "tvs","_type": "sales","_id": "RDGrtGwBCp8vhw_gCmb9","_score": 1,"_source": {"price": 8000,"color": "红色","brand": "三星","sold_date": "2017-01-01"}},{"_index": "tvs","_type": "sales","_id": "PjGrtGwBCp8vhw_gCmb9","_score": 1,"_source": {"price": 1000,"color": "红色","brand": "长虹","sold_date": "2016-10-28"}},{"_index": "tvs","_type": "sales","_id": "QTGrtGwBCp8vhw_gCmb9","_score": 1,"_source": {"price": 1500,"color": "蓝色","brand": "TCL","sold_date": "2016-07-02"}},{"_index": "tvs","_type": "sales","_id": "RTGrtGwBCp8vhw_gCmb9","_score": 1,"_source": {"price": 2500,"color": "蓝色","brand": "小米","sold_date": "2017-02-12"}}]},"aggregations": {"popular_color": {"doc_count_error_upper_bound": 0,"sum_other_doc_count": 0,"buckets": [{"key": "红色","doc_count": 4},{"key": "绿色","doc_count": 2},{"key": "蓝色","doc_count": 2}]}}
}
当把外层的 size设置为1 ,返回1条执行聚合的那些原始数据
设置为0 ,不返回执行聚合的那些原始数据
terms节点下的size
返回了bucket 中1条数据。
. 不设置时,返回全部的聚合结果 。
白话Elasticsearch32-深入聚合数据分析之案例实战Terms Aggs 统计哪种颜色电视销量最高相关推荐
- 白话Elasticsearch33-深入聚合数据分析之案例实战bucket + metrics 统计每种颜色电视平均价格
文章目录 概述 官方说明Avg Aggregation 案例:统计每种颜色电视平均价格 概述 继续跟中华石杉老师学习ES,第33篇 课程地址: https://www.roncoo.com/view/ ...
- 白话Elasticsearch34-深入聚合数据分析之案例实战bucket嵌套实现颜色+品牌的多层下钻分析
文章目录 概述 案例 需求 解决 Step1.对每种颜色进行bucket分组 Step2.对每种颜色进行bucket分组 , 然后对每个分组再次计算平均价格 Step3.对每种颜色进行bucket分组 ...
- 白话Elasticsearch37-深入聚合数据分析之案例实战Date Histogram Aggregation:统计每月电视销量
文章目录 概述 官方说明 实例: 统计每月电视销量,没有销量的月份也要统计 概述 继续跟中华石杉老师学习ES,第37篇 课程地址: https://www.roncoo.com/view/55 官方说 ...
- 白话Elasticsearch35-深入聚合数据分析之案例实战更多metrics用法:统计每种颜色电视最大最小价格
文章目录 概述 官方指导 Metrics Aggregations Min Aggregation Max Aggregation Sum Aggregation 案例:统计每种颜色电视最大最小价格 ...
- 白话Elasticsearch39-深入聚合数据分析之案例实战_搜索+聚合: 统计指定品牌下每个颜色的销量
文章目录 概述 案例 示例 概述 继续跟中华石杉老师学习ES,第39篇 课程地址: https://www.roncoo.com/view/55 案例 需求: 统计指定品牌下每个颜色的销量 原始数据: ...
- 白话Elasticsearch36-深入聚合数据分析之案例实战Histogram Aggregation:按价格区间统计电视销量和销售额
文章目录 概述 官方说明 案例 概述 继续跟中华石杉老师学习ES,第36篇 课程地址: https://www.roncoo.com/view/55 官方说明 Histogram Aggregatio ...
- 白话Elasticsearch43-深入聚合数据分析之案例实战__排序:按每种颜色的平均销售额升序排序
文章目录 概述 官方说明 案例 求 每种颜色的平均销售额 按每种颜色的平均销售额升序排序 概述 继续跟中华石杉老师学习ES,第43篇 课程地址: https://www.roncoo.com/view ...
- 白话Elasticsearch42-深入聚合数据分析之案例实战__bucket filter:统计牌品最近一个月的平均价格(Filter Aggregation)
文章目录 概述 官方说明 案例 概述 继续跟中华石杉老师学习ES,第41篇 课程地址: https://www.roncoo.com/view/55 官方说明 Filter Aggregation:戳 ...
- 白话Elasticsearch40-深入聚合数据分析之案例实战_Global Aggregation:单个品牌与所有品牌平均价格对比
文章目录 概述 Global Aggregation 案例 概述 继续跟中华石杉老师学习ES,第40篇 课程地址: https://www.roncoo.com/view/55 Global Aggr ...
最新文章
- **Java有哪些悲观锁的实现_阿里秋招Java研发工程师岗:来自校友的面试还原(已拿Offer)...
- Java8新特性-接口中的静态方法与默认方法
- 大数据技术与应用实训心得_GXCGQ16D传感器与检测技术应用实训考核设备
- [html] 如何禁止html页面缓存?
- props传递对象_vue-父组件传值props(对象)给子组件
- java中char类型可以存储两个中文字符吗
- 计算机基础与应用演示文稿教案,计算机应用基础教案82修饰演示文稿.pdf
- vue网页分享生成二维码微信扫一扫进行分享
- 苹果cmsv10黑色炫酷自适应在线视频网站简约模板源码
- 手把手教你制作一块Linux开发板(基于Planck-pi)
- 软件测试之如何测试数据?
- 使用 TestFlight 进行 iOS App 内测
- python基础入门(变量)
- 牛客小白月赛28 C-单词记忆方法——dfs
- 因数据迁移导致跨库连接失效的解决办法
- c语言求1平方根,c语言求平方根公式
- 深剖函数重载——C++基础篇
- 斐讯k2为什么不能加虚拟服务器,斐讯K2路由器怎么设置桥接_斐讯K2无线中继设置教程-192路由网...
- unity挂机游戏技术指南 安卓版
- linux将文件 abc 更名为 bca.,Linux命令行操作文本文件
热门文章
- Android 9.0 内核编译实战(以一加6为例)
- php取汉字第一个字,php---------取汉字的第一个字的首字母
- c++ 析构函数 ~
- es每次结果不一样_电子血压计不准!每次测血压都不一样……
- vue init webpack缺少标识符_vue 如何从单页应用改造成多页应用_vue.js
- tkinter笔记:通过点击button 控制标签的显示 (莫烦python笔记)
- linux实战应用案例: 如何在 Linux 安装 MySQL 8 数据库?(图文详细教程)
- 万字长文,一文读懂Linux的常规操作(墙裂建议收藏)
- MATLAB从入门到精通-matlab中符号推导应用及相关技巧
- LeetCode-剑指 Offer 18. 删除链表的节点