Elasticsearch聚合 之 DateRange日期范围聚合

时间:2022-01-23 16:18:37

相比于range聚合,date range就是范围可以由时间来指定。

例如:

{
"aggs":{
"range":{
"date_range":{
"field":"date",
"format":"MM-yyy",
"ranges":[
{"to":"now-10M/M"},
{"from":"now-10M/M"}
]
}
}
}
}

其中to:now-10M/M表示,过去到10个月前

from:now-10M/M表示,从10个月前到现在

得到的结果就如下:

{
...
"aggregations":{
"range":{
"buckets":[
{
"to":1.3437792E+12,
"to_as_string":"08-2012",
"doc_count":
},{
"from":1.3437792E+12,
"from_as_string":"08-2012",
"doc_count":
}
]
}
}
}

它还支持很多其他的日期表达方式,可以参考joda日期表示。