首页 > 其他分享 >ElasticSearch 聚合统计

ElasticSearch 聚合统计

时间:2024-01-02 12:34:09浏览次数:25  
标签:search 聚合 age field ElasticSearch aggs query 统计


ElasticSearch 聚合统计_大数据

聚合统计

度量聚合:求字段的平均值,最小值,最大值,总和等
桶聚合:将文档分成不同的桶,桶的划分可以根据字段的值,范围,日期间隔
管道聚合:在桶聚合的结果上执行进一步计算

进行聚合的语法如下

{
  "aggs": {
    "<agg_name>": {
      "<agg_type>": {
        "field": "<field_name>"
      }
    }
  }
}

聚合也可以进行嵌套

{
  "aggs": {
    "<agg_name>": {
      "<agg_type>": {
        "field": "<field_name>"
      },
      "aggs": {
        "<agg_child_name>": {
          "<agg_type>": {
            "field": "<field_name>"
          }
        }
      }
    }
  }
}

度量聚合(Metrics aggregations)

平均值聚合

聚集被命名为 avg_age

POST user/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {"avg_age": {"avg": {"field": "age"}}}
}

最小值 / 最大值 聚合

POST user/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {"max_age": {"max": {"field": "age"}}}
}
POST user/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {"min_age": {"min": {"field": "age"}}}
}

求和聚合

POST user/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {"sum_age": {"sum": {"field": "age"}}}
}

桶聚合(Bucket aggregations)

词条聚合(Terms aggregation)

按照某个字段的值进行聚合

POST user/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {"group_by_age": {"terms": {"field": "age"}}}
}

范围聚合(Range aggregation)

按照某个字段的范围进行聚合,from提供区间下界(包括),to提供区间上界(不包括)

POST user/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {
    "age_ranges":{
      "range": {
        "field": "age",
        "ranges": [
          { "to": 10 },
          { "from": 10, "to": 20 },
          { "from": 20 }
        ]
      }
    }
  }
}

管道聚合(Pipeline aggregations)

平均桶聚合(Average bucket aggregation)

POST user/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {
    "age_ranges": {
      "range": {
        "field": "age",
        "ranges": [
          { "to": 10 }, { "from": 10, "to": 20 }, { "from": 20 }
        ]
      },
      "aggs": {
        "age_avg": {"avg": {"field": "age"}}
      }
    },
    "range_avg": {
      "avg_bucket": {"buckets_path": "age_ranges>age_avg"}
    }
  }
}

对年龄分组,并求分组后的平均值,然后对分组的平均值再求平均值

求和桶聚集(Sum bucket aggregation)

POST user/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {
    "age_ranges": {
      "range": {
        "field": "age",
        "ranges": [
          { "to": 10 }, { "from": 10, "to": 20 }, { "from": 20 }
        ]
      },
      "aggs": {
        "age_sum": { "sum": {"field": "age"} }
      }
    },
    "range_sum": {
      "sum_bucket": { "buckets_path": "age_ranges>age_sum" }
    }
  }
}

对年龄分组,并求分组后的和,然后对分组的和再求和

参考博客

[1]https://www.elastic.co/guide/en/elasticsearch/reference/8.11/search-aggregations.html


标签:search,聚合,age,field,ElasticSearch,aggs,query,统计
From: https://blog.51cto.com/u_15651175/9067660

相关文章

  • ElasticSearch 架构设计
    介绍ElasticSearchMySQLIndexTableDocumentRowFieldColumnMappingSchemaQueryDSLSQLaggregationsgroupby,avg,sumcardinality去重distinctreindex数据迁移ElasticSearch中的一个索引由一个或多个分片组成每个分片包含多个segment(分段)每一个分段都是一个倒排索引节点类型节点类......
  • ElasticSearch 文档操作
    创建文档指定id//无则插入,有则覆盖(覆盖的逻辑是先删除,再插入)PUT/<target>/_doc/<_id>//无则插入,有则覆盖POST/<target>/_doc/<_id>//无则插入,有则报错PUT/<target>/_create/<_id>//无则插入,有则报错POST/<target>/_create/<_id>不指定id//正常插入POST/<ta......
  • ElasticSearch 文本分析
    文本分析的原理分析器类别类别名介绍StandardAnalyzerstandard标准分析器,按照Unicode文本分割算法切分单词,删除大多数标点符号并将单词转为小写形式,支持过滤停用词SimpleAnalyzersimple简单分析器,在非字母的地方把单词切分开并将单词转为小写形式WhitespaceAnalyzerwhitespac......
  • ElasticSearch 搜索数据
    精确查询存在查询Existsquery用于查询某个字段不为空的数据。如下所示,查询age不为空的数据POSTuser/_search{"query":{"exists":{"field":"age"}}}主键查询通过_id字段查询数据POSTuser/_search{"query":{"ids"......
  • 机器学习方法李航1.31.3 统计学习三要素
    统计学习方法都是由模型、策略和算法构成的,即统计学习方法由三要素构成,可以简单地表示为方法=模型+策略+算法下面论述监督学习中的统计学习三要素。非监督学习、强化学习也同样拥有这三要素。可以说构建一种统计学习方法就是确定具体的统计学习三要素。1.3.1模型统计学习首要考......
  • 聚合支付项目-21
    3.4资质申请3.4.1商户服务-资质申请(接口②)3.4.1.1接口定义1、接口描述 1)接收资质申请信息,更新商户信息及审核状态(待审核) 2)返回结果2、接口定义如下:在MerchantService中定义applyMerchant接口/***资质申请接口*@parammerchantId商户id*@parammerchantDTO资质申......
  • 云锵投资 2023 年收益统计及 12 月简报
    年度统计本月是本年度最后一月,对本年的各组合进行了年度的收益统计:量化基金,少量超额。量化股票,Beta1.5倍的情况下,只下跌了4.81%,算是还凑合的成绩。今年,个人权益投资,整体没有Alpha,属于与指数陪玩。在持股数方面,相对年初加仓了23.68%(去年该数值是95.16%,本不应该加仓那么......
  • Oracle数据库统计信息_执行计划_sharedpool等的知识梳理
    Oracle数据库统计信息_执行计划_sharedpool等的知识梳理背景最近有项目出现了年底业务量增加时卡顿的情况.同事多次发现执行SQL缓慢.但是重新执行统计信息更新后问题就优化的现象.12月份上半月解决测试环境的SQLServer卡顿时基本上也是这个套路重建索引,添加必要索引的方......
  • 生物统计复习
    1.绪论1.1统计学研究数据的收集、整理、分析和解释的科学,是处理数据中变异性的科学和艺术。统计分析可分为统计描述和统计推断两部分统计描述:用统计图表、统计指标或几个特征数描述资料的数据特征和分布规律统计推断:用样本信息来推断总体特征目的:求得可靠的结......
  • 聚合支付项目-20
    3商户资质申请3.1需求分析3.1.1系统交互流程交互流程如下:前端上传证件照片,请求商户平台应用。商户平台应用请求阿里云上传图片。上传成功返回图片标识给前端。前端携带证件图片标识和资质申请信息提交到商户平台应用。请求商户服务保存资质申请。保存成功返回给前端。商户资......