elasticsearch date_histogram
(5)Date Histogram Aggregation
时间直方图聚合,专门对时间类型的字段做直方图聚合。这种需求是比较常用见得的,我们在统计时,通常就会按照固定的时间断(1个月或1年等)来做统计。下面统计学校中同一年出生的学生数。
curl -XPOST "192.168.1.101:9200/student/student/_search?search_type=count" -d
'
{
"aggs": {
"data_histogram_birthday": {
"date_histogram": {
"field": "birthday",
"interval": "year", // 按年统计
"format": "yyyy" // 返回结果的key的格式
}
}
}
}
'
返回结果如下,可以看到由于上面的”format”: “yyyy”,所以返回的key_as_string只返回年的信息。
{
"buckets": [
{
"key_as_string": "1985",
"key": 473385600000,
"doc_count": 1
},
{
"key_as_string": "1986",
"key": 504921600000,
"doc_count": 1
},
{
"key_as_string": "1987",
"key": 536457600000,
"doc_count": 1
},
{
"key_as_string": "1989",
"key": 599616000000,
"doc_count": 1
},
{
"key_as_string": "1990",
"key": 631152000000,
"doc_count": 1
},
{
"key_as_string": "1991",
"key": 662688000000,
"doc_count": 1
},
{
"key_as_string": "1992",
"key": 694224000000,
"doc_count": 1
},
{
"key_as_string": "1994",
"key": 757382400000,
"doc_count": 1
}
]
}