Elasticsearch7.8.0版本高级查询—— 聚合查询文档

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch7.8.0版本高级查询—— 聚合查询文档相关的知识,希望对你有一定的参考价值。

目录

一、初始化文档数据

  • 在 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 聚合,对某个字段一次性返回 countmaxminavgsum 五个指标。

3.2、示例

  • 在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:

    
        "aggs":
            "stats_age":
                "stats":"field":"age"
            
        ,
        "size":0
    
    

  • 服务器响应结果

以上是关于Elasticsearch7.8.0版本高级查询—— 聚合查询文档的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch7.8.0版本高级查询——组合查询文档

Elasticsearch7.8.0版本高级查询—— 模糊查询文档

Elasticsearch7.8.0版本高级查询—— 指定查询字段查询文档

Elasticsearch7.8.0版本高级查询—— 完全匹配查询文档

Elasticsearch7.8.0版本高级查询—— 分页查询文档

Elasticsearch7.8.0版本高级查询—— 字段匹配查询文档