目录
- 一、初始化文档数据
- 二、聚合查询文档
- 2.1、概述
- 2.2、对某个字段取最大值 max 示例
- 2.3、对某个字段取最小值 min 示例
- 2.4、对某个字段求和sum 示例
- 2.5、对某个字段取平均值 avg 示例
- 2.6、对某个字段的值进行去重之后再取总数 示例
- 三、State 聚合查询文档
- 3.1、概述
- 3.2、示例
一、初始化文档数据
-
在 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、概述
- 聚合允许使用者对 es 文档进行统计分析,类似与关系型数据库中的 group by,当然还有很
多其他的聚合,例如取最大值、平均值等等。
2.2、对某个字段取最大值 max 示例
-
在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:
{ "aggs":{ "max_age":{ "max":{"field":"age"} } }, "size":0 }
-
服务器响应结果
2.3、对某个字段取最小值 min 示例
-
在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:
{ "aggs":{ "min_age":{ "min":{"field":"age"} } }, "size":0 }
-
服务器响应结果
2.4、对某个字段求和sum 示例
-
在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:
{ "aggs":{ "sum_age":{ "sum":{"field":"age"} } }, "size":0 }
-
服务器响应结果
2.5、对某个字段取平均值 avg 示例
-
在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:
{ "aggs":{ "avg_age":{ "avg":{"field":"age"} } }, "size":0 }
-
服务器响应结果
2.6、对某个字段的值进行去重之后再取总数 示例
-
在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:
{ "aggs":{ "distinct_age":{ "cardinality":{"field":"age"} } }, "size":0 }
-
服务器响应结果
三、State 聚合查询文档
3.1、概述
stats
聚合,对某个字段一次性返回count
,max
,min
,avg
和sum
五个指标。
3.2、示例
-
在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:
{ "aggs":{ "stats_age":{ "stats":{"field":"age"} } }, "size":0 }
-
服务器响应结果