聚合分析

聚合分析
1、聚合分析基本语法:
需求1:计算每个tag下的商品数量

GET /ecommerce/product/_search // GET /index/type/_search

{
“size”: 0, // 返回数据hits内不显示命中的数据记录
“aggs”: {
“all_tags”: { // 聚合器名称
“AGG_TYPE”: { //AGG_TYPE聚合类型:terms,avg
“field”: “fieldName”//字段名称
}
}
}

}

2、为聚合分析添加刷选条件
需求2:对名称中包含yagao的商品,计算每个tag下的商品数量
GET /ecommerce/product/_search

{
“size”: 0,
“query”: {
“match”: {
“name”: “yaogao”
}
},
“aggs”: {
“all_tags”: {
“terms”: {
“field”: “tags”
}
}
}

}

3、嵌套聚合分析
需求3:先分组,再算每组的平均值,计算每个tag下的商品的平均价格
GET /ecommerce/product/_search

{
“size”: 0,
“aggs”: {
“group_by_tags”: {
“terms”: {
“field”: “tags”
},
“aggs”: {
“avg_price”: {
“avg”: {
“field”: “price”
}
}
}
}
}

}

4、聚合结果排序

需求4:计算每个tag下的商品的平均价格,并且按照平均价格降序排序

GET /ecommerce/product/_search

{
“size”: 0,
“aggs”: {
“all_tags”: {
“terms”: {
“field”: “tags”,
“order”: {
“avg_price”: “asc”
}
},
“aggs”: {
“avg_price”: {
“avg”: {
“field”: “price”
}
}
}
}
}

}
需求5:按照指定的价格范围区间进行分组,然后在每组内再按照tag进行分组,最后再计算每组的平均价格

GET /ecommerce/product/_search

{
“size”: 0,
“aggs”: {
“group_by_price”: {
“range”: {
“field”: “price”,
“ranges”: [
{
“from”: 0,
“to”: 20
},{
“from”: 20,
“to”: 40
},{
“from”: 40,
“to”: 50
}
]
},
“aggs”: {
“all_tags”: {
“terms”: {
“field”: “price”
},
“aggs”: {
“avg_price”: {
“avg”: {
“field”: “price”
}
}
}
}
}
}
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值