美文网首页Elasticsearch玩转大数据elasticsearch
三十七、Elasticsearch聚合分析--hitogram按

三十七、Elasticsearch聚合分析--hitogram按

作者: 编程界的小学生 | 来源:发表于2017-07-19 14:27 被阅读217次

    1、解释

    SQL:类似于SQL的分区
    ES:类似于terms,也是进行buckets分组操作,接收一个field,按照这个field的值的各个范围区间,进行bucket分组操作。

    2、实战

    GET /tvs/sales/_search
    {
      "size": 0,
      "aggs": {
        "price": {
          "histogram": {
            "field": "price",
            "interval": 2000
          },
          "aggs": {
            "sum_price": {
              "sum": {
                "field": "price"
              }
            }
          }
        }
      }
    }
    

    返回结果:

    {
      "took": 7,
      "timed_out": false,
      "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0
      },
      "hits": {
        "total": 8,
        "max_score": 0,
        "hits": []
      },
      "aggregations": {
        "price": {
          "buckets": [
            {
              "key": 0,
              "doc_count": 3,
              "sum_price": {
                "value": 3700
              }
            },
            {
              "key": 2000,
              "doc_count": 4,
              "sum_price": {
                "value": 9500
              }
            },
            {
              "key": 4000,
              "doc_count": 0,
              "sum_price": {
                "value": 0
              }
            },
            {
              "key": 6000,
              "doc_count": 0,
              "sum_price": {
                "value": 0
              }
            },
            {
              "key": 8000,
              "doc_count": 1,
              "sum_price": {
                "value": 8000
              }
            }
          ]
        }
      }
    }
    

    解释说明:

    interval:2000,划分范围,0-2000,2000-4000,4000-6000.....
    buckets根据price的值,比如2500,看落在哪个区间内,比如2000-4000,此时就会将这条数据放入2000-4000对应的那个bucket中
    
    bucket有了后,一样去对每个bucket执行avg,count,sum等操各种metric操作。
    

    若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
    欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


    qrcode_for_gh_577b64e73701_258.jpg

    相关文章

      网友评论

        本文标题:三十七、Elasticsearch聚合分析--hitogram按

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