histogram与terms聚合类似,都是数据分组,区别是terms是按照field的值分组,而histogram可以按照指定的间隔对field进行分组
解释一波
1、对age进行间隔为10的分组,分组内对age进行avg计算
2、interval:设置间隔
3、min_doc_count:设置阈值,最小doc_count数,即组内doc_count的值。6.2.4系列不能小于0
4、extended_bounds:设置min和max。即分组内key的范围。题中设置min为-1,响应中从-10开始,是因为间隔设置为10,所有为0-10=-10,如果设置min为-3、-4、-7等,还是从-10开始。若min设置为-12,则从-20开始。max是同样的道理。
请求:
POST bank/_doc/_search
{
"size":0,
"aggs": {
"hitogram_agg": {
"histogram": {
"field": "age",
"interval": 10,
"min_doc_count": 0,
"extended_bounds": {
"min": -1,
"max": 60
}
},
"aggs": {
"avg_age": {
"avg": {
"field": "age