Elasticsearch按日期范围进行分组计数 [英] Elasticsearch count in groups by date range

查看:746
本文介绍了Elasticsearch按日期范围进行分组计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的文档:

{
body: 'some text',
read_date: '2017-12-22T10:19:40.223000'
}

有没有办法按日期查询最近10天发布的文档数?例如:

Is there a way to query count of documents published in last 10 days group by date? For example:

2017-12-22, 150  
2017-12-21, 79  
2017-12-20, 111  
2017-12-19, 27  
2017-12-18, 100  


推荐答案

是的,您可以使用 date_histogram 聚合轻松实现,例如:

Yes, you can easily achieve that using a date_histogram aggregation, like this:

{
  "query": {
    "range": {
      "read_date": {
        "gte": "now-10d"
      }
    }
  },
  "aggs": {
    "byday": {
      "date_histogram": {
        "field": "read_date",
        "interval": "day"
      }
    }
  }
}

这篇关于Elasticsearch按日期范围进行分组计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆