elasticsearch聚合函数
计算每个tag下的商品数量
GET /ecommerce/product/_search
{
"aggs": { //聚合
"group_by_tags": { //聚合任意名字
"terms": { "field": "tags" } //terms分组字段得到分组数量
}
}
}
对名称中包含yagao的商品,计算每个tag下的商品数量
GET /ecommerce/product/_search
{
"size": 0,
"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" } //avg聚合函数
}
}
}
}
}
计算每个tag下的商品的平均价格,并且按照平均价格降序排序
GET /ecommerce/product/_search
{
"size": 0,
"aggs" : {
"all_tags" : {
"terms" : { "field" : "tags", "order": { "avg_price": "desc" } },
"aggs" : {
"avg_price" : {
"avg" : { "field" : "price" }
}
}
}
}
}
按照指定的价格范围区间进行分组,然后在每组内再按照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": {
"group_by_tags": {
"terms": {
"field": "tags"
},
"aggs": {
"average_price": {
"avg": {
"field": "price"
}
}
}
}
}
}
}
}
最新文章
- TFS2013 设置签出独占锁
- c#向数据库插入较大数据(SqlBulkCopy)
- Spring Boot中的注解
- virtualBox 打开旧的ubuntu虚拟机镜像时找不到网卡的解决方法
- 【干货】解密监控宝Docker监控实现原理
- poj 2761 Feed the dogs (treap树)
- 自制简单实用IoC
- pip安装简单方法
- Hibernate核心类用法-使用Transaction管理事务
- Mysql进阶(二)
- ASM磁盘组空间不足--ORA-15041:DISGROUP DATA space exhausted (生产库案例)
- android 客户端支付宝 php服务器端编写
- Android WIFI 启动流程(TIP^^)
- 在线API,桌面版,jquery,css,Android中文开发文档,JScript,SQL掌用实例
- ESB、SOA、EAI异同【转】
- [UT]Unit Test理解
- Python 基本数据类型_常用功能整理
- 在.NET Core中使用Irony实现自己的查询语言语法解析器
- c/c++ 模板与STL小例子系列<;一 >;自建Array数组
- linux audit审计(7-1)--读懂audit日志