目录
- 一、初始化文档数据
- 二、桶聚合查询文档
- 2.1、概述
- 2.2、terms 聚合,分组统计的示例
- 2.3、在 terms 分组下再进行聚合的示例
一、初始化文档数据
-
在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/1,请求体内容为:
{ "name":"zhangsan", "age":20, "sex":"男" }
-
在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/2,请求体内容为:
{ "name":"zhangsan1", "age":21, "sex":"男" }
-
在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/3,请求体内容为:
{ "name":"zhangsan2", "age":22, "sex":"男" }
-
在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/4,请求体内容为:
{ "name":"lisi", "age":25, "sex":"女" }
二、桶聚合查询文档
2.1、概述
- 桶聚和相当于 sql 中的 group by 语句。
2.2、terms 聚合,分组统计的示例
-
在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_search,请求体内容为:
{ "aggs":{ "age_groupby":{ "terms":{"field":"age"} } }, "size":0 }
-
查询成功后,服务器响应结果
2.3、在 terms 分组下再进行聚合的示例
-
在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_search,请求体内容为:
{ "aggs":{ "age_groupby":{ "terms":{"field":"age"}, "aggs":{ "sum_age":{ "sum":{"field":"age"} } } } }, "size":0 }
-
查询成功后,服务器响应结果