第三篇 elasticsearch的group by+avg+sort等聚合分析
来源:互联网 发布:淘宝网天猫商城男装 编辑:程序博客网 时间:2024/05/21 18:31
本文依据如下数据模板进行分析
PUT /ecommerce/product/1{ "name" : "gaolujie yagao", "desc" : "gaoxiao meibai", "price" : 30, "producer" : "gaolujie producer", "tags": [ "meibai", "fangzhu" ]}
需求一:计算每个tag下的商品数据
GET /ecommerce/product/_search{ "aggs": {//聚合函数 "group_by_tags": {//该名称可以随便起 "terms": { "field": "tags" } } }}
第一次运行此代码会报错,原因是field使用时要将fielddata属性设置为true,此属性左右后面在进行讲解:
PUT /ecommerce/_mapping/product{ "properties": { "tags": { "type": "text", "fielddata": true } }}
需求二:对名称中包含yagao的商品,计算每个tag下的商品数量
GET /ecommerce/product/_search{ "query": { "match": { "name": "yagao" } }, "aggs": { "all_tags": { "terms": { "field": "tags" } } }}
需求三:先分组,再算每组的平均值,计算每个tag下的商品的平均价格
GET /ecommerce/product/_search{ "size": 0, "aggs" : { "group_by_tags" : { "terms" : { "field" : "tags" }, "aggs" : { "avg_price" : { "avg" : { "field" : "price" } } } } }}
需求四:计算每个tag下的商品平均价格,并且按照平均价格降序排序
GET /ecommerce/product/_search{ "aggs" : { "all_tags" : { "terms" : { "field" : "tags", "order": { "avg_price": "desc" } }, "aggs" : { "avg_price" : { "avg" : { "field" : "price" } } } } }}
需求五:按照指定的价格范围区间进行分组,然后在每组内再按照tag进行分组,最后再计算每组的平均价格
GET /ecommerce/product/_search{ "aggs": { "group_by_price": { "range": { "field": "price", "ranges": [ { "from": 0, "to": 20 }, { "from": 20, "to": 40 }, { "from": 40, "to": 50 } ] }, "aggs": { "group_by_tags": { "terms": { "field": "tags" }, "aggs": { "average_price": { "avg": { "field": "price" } } } } } } }}
阅读全文
0 0
- 第三篇 elasticsearch的group by+avg+sort等聚合分析
- mysql中group by子句和聚合函数MAX(),MIN(),SUM(),AVG()等的使用
- 在oracle的聚合函数(sum、avg等)中使用group by来分组你的结果
- 聚合函数(sum、count、max、min、avg)、where、group by、having的组合用法实例
- group by 与聚合函数错误分析
- ElasticSearch Group by Multi Field,多字段聚合
- elasticsearch 多列 聚合 归类(类似 sql group by)
- elasticsearch 多列 聚合(sql group by)
- 关于Elasticsearch里面聚合group的坑
- group by与avg(),max(),min(),sum()函数的关系
- arcigs js api 查询,使用group by 和sum 等聚合函数的使用
- group by ,having, 聚合函数的使用
- 聚合函数,group by
- 聚合函数,group by
- 聚合函数和group by
- group by 和聚合函数
- 聚合函数和Group by
- 第十六篇 深入elasticsearch聚合数据分析
- PlSql中如何手动修改数据
- 对EasyDarwin开源项目后续发展的思考:站在巨人的肩膀上再跳上另一个更高的肩膀
- Effect(二十一)—— SM_TransRimShaderIrisator
- Gym 101572 K.Kayaking Trip【二分+贪心】
- 1069. 微博转发抽奖(20)
- 第三篇 elasticsearch的group by+avg+sort等聚合分析
- linux压缩和解压缩命令大全
- 第一讲 类加载器
- LeetCode 78. Subsets (Medium)
- “北京地区禁售 iPhone 6”新闻背后的真相:喷你一脸狗血
- webService快速入门入门系列《1》-----url调用
- 一脸懵逼:京东618手机大战有几个“第一”?
- GeekPwn(极棒)全球寻找未来黑客 上海旧金山同步开赛
- 野心不小!IBM联手一家汽车制造商推出自动驾驶巴士