美文网首页
ES 聚合索引简介

ES 聚合索引简介

作者: 7赢月 | 来源:发表于2020-04-20 09:48 被阅读0次

    介绍

    本章会简单介绍es的聚合索引,通过分析bucket和metric和使用来进一步了解聚合索引。


    什么是聚合

    • es除了搜索意外,还提供的针对es数据进行统计分析的功能
    • 通过聚合,我们可以得到一个数据的概览,这个是通过分析和总结的全套数据,不是对单个文档的搜索
    • 性能高,只需要一个语句,不需要客户端进行额外的逻辑计算

    聚合的分类

    • Bucket Aggregation:一系列满足条件的文档的集合
    • Metric Aggregation:对文档字段进行数学计算后的统计分析
    • Pipeline Aggregation:对其他聚合进行的二次分析
    • Matrix Aggregation:对多个字段的操作,并提供一个结果矩阵
      下面会通过demo详细介绍对Bucket和Metric两种聚合的使用

    Bucket Aggregation

    GET kibana_sample_data_flights/_search
    {
        "size": 0,
        "aggs":{
            "flight_dest":{
                "terms":{
                    "field":"DestCountry"
                }
            }
        }
    }
    

    Bucket Aggregation通过字段term对field字段进行桶排序,以上语句含义为:划分到达不同目的地国家的统计。


    返回结果

    以上我们看到搜索中hits是为空的,聚合下可以看到以目的地国家为划分的不同的桶


    Metric Aggregation

    GET kibana_sample_data_flights/_search
    {
        "size": 0,
        "aggs":{
            "flight_dest":{
                "terms":{
                    "field":"DestCountry"
                },
                "aggs":{
                    "avg_price":{
                        "avg":{
                            "field":"AvgTicketPrice"
                        }
                    },
                    "max_price":{
                        "max":{
                            "field":"AvgTicketPrice"
                        }
                    },
                    "min_price":{
                        "min":{
                            "field":"AvgTicketPrice"
                        }
                    }
                }
            }
        }
    }
    

    以上通过目的地国家进行分桶,并且对最大,最小,平均值进行了统计计算。


    返回结果

    以上我们能看到不同的桶下对三种类型计算产生的输出结果。

    总结

    本章介绍了聚合,通过两个demo简单介绍了Bucket和Metric两种聚合使用。

    相关文章

      网友评论

          本文标题:ES 聚合索引简介

          本文链接:https://www.haomeiwen.com/subject/zvllihtx.html