Elasticsearch 按日期范围分组计数

ehs*_*adi 5 elasticsearch elasticsearch-5

我有这样的文件:

{
body: 'some text',
read_date: '2017-12-22T10:19:40.223000'
}
Run Code Online (Sandbox Code Playgroud)

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

2017-12-22, 150  
2017-12-21, 79  
2017-12-20, 111  
2017-12-19, 27  
2017-12-18, 100  
Run Code Online (Sandbox Code Playgroud)

Val*_*Val 6

是的,您可以使用date_histogram聚合轻松实现这一点,如下所示:

{
  "query": {
    "range": {
      "read_date": {
        "gte": "now-10d"
      }
    }
  },
  "aggs": {
    "byday": {
      "date_histogram": {
        "field": "read_date",
        "interval": "day"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)