本节 es 笔记目录如下:
- 分组计数
- 平均数 avg
- 最大值 max
- 最小值 min
- 总和 sum
此次笔记用到的数据还是前一节中导入的官方提供的bank数据,用到其他数据的,下面会提供导入方式。
首先,来看一下我们导入的数据的各个字段,使用下面命令获取(命令都在 kibana 中使用):
"_source" : {
"account_number" : 1,
"balance" : 39225,
"firstname" : "Amber",
"lastname" : "Duke",
"age" : 32,
"gender" : "M",
"address" : "880 Holmes Lane",
"employer" : "Pyrami",
"email" : "amberduke@pyrami.com",
"city" : "Brogan",
"state" : "IL"
}
1、分组计数
我们对数据中state字段进行分组计数,计算数据中每个state种类出现的次数:
GET /bank/_search
{
"size": 0,
"aggs": {
"group_by_state": {
"terms": {
"field": "state.keyword"
}
}
}
}
其中,group_by_state是分组的名称,用来标识分组的名称,
terms则是用来分组的关键字,
state.keyword表示取值是state这个字段。
运行之后返回,可以看到返回结果按照state的值,作为key,以及doc_count作为count的数值结果返回。
对应于 MySQL 中的语法大致是:
SELECT state, COUNT(*)