美文网首页ElasticSearch玩转大数据elasticsearch
三十八、Elasticsearch聚合分析--date hito

三十八、Elasticsearch聚合分析--date hito

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

    与上一篇唯一不同的就是这个是按照date日期来划分的。

    1、实战

    GET /tvs/sales/_search
    {
      "size": 0,
      "aggs": {
        "group_by_date": {
          "date_histogram": {
            "field": "sold_date",
            "interval": "month",
            "format": "yyyy-MM-dd",
            "min_doc_count": 0,
            "extended_bounds" : {
              "min" : "2016-01-01",
              "max" : "2017-01-01"
            }
          }
        }
      }
    }
    

    结果:

    {
      "took": 8,
      "timed_out": false,
      "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0
      },
      "hits": {
        "total": 8,
        "max_score": 0,
        "hits": []
      },
      "aggregations": {
        "group_by_date": {
          "buckets": [
            {
              "key_as_string": "2016-01-01",
              "key": 1451606400000,
              "doc_count": 0
            },
            {
              "key_as_string": "2016-02-01",
              "key": 1454284800000,
              "doc_count": 0
            },
            {
              "key_as_string": "2016-03-01",
              "key": 1456790400000,
              "doc_count": 0
            },
            {
              "key_as_string": "2016-04-01",
              "key": 1459468800000,
              "doc_count": 0
            },
            {
              "key_as_string": "2016-05-01",
              "key": 1462060800000,
              "doc_count": 1
            },
            {
              "key_as_string": "2016-06-01",
              "key": 1464739200000,
              "doc_count": 0
            },
            {
              "key_as_string": "2016-07-01",
              "key": 1467331200000,
              "doc_count": 1
            },
            {
              "key_as_string": "2016-08-01",
              "key": 1470009600000,
              "doc_count": 1
            },
            {
              "key_as_string": "2016-09-01",
              "key": 1472688000000,
              "doc_count": 0
            },
            {
              "key_as_string": "2016-10-01",
              "key": 1475280000000,
              "doc_count": 1
            },
            {
              "key_as_string": "2016-11-01",
              "key": 1477958400000,
              "doc_count": 2
            },
            {
              "key_as_string": "2016-12-01",
              "key": 1480550400000,
              "doc_count": 0
            },
            {
              "key_as_string": "2017-01-01",
              "key": 1483228800000,
              "doc_count": 1
            },
            {
              "key_as_string": "2017-02-01",
              "key": 1485907200000,
              "doc_count": 1
            }
          ]
        }
      }
    }
    

    2、解释

    date_histogram:在按照时间划分
    interval:按照月份去划分
    format:格式,yyyy-MM-dd意思是说每个月划分一次
    min_doc_count:0 代表有的月份没有document,但是也要返回这个区间,默认是不返回的。
    extended_bounds:min和max分别代表从哪个月开始划分,到哪个月份结束划分  
    

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


    qrcode_for_gh_577b64e73701_258.jpg

    相关文章

      网友评论

        本文标题:三十八、Elasticsearch聚合分析--date hito

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