相对于range和date range,这个聚合就是能够表示IP的范围。
普通IP模式
DSL命令:
代码语言:javascript复制{
"aggs":{
"ip_ranges":{
"ip_range":{
"field":"ip",
"ranges":[
{"to":"10.0.0.5"},
{"from":"10.0.0.5"}
]
}
}
}
}
返回结果:
代码语言:javascript复制{
...
"aggregations":{
"ip_ranges":{
"buckets":[
{
"to":167772165,
"to_as_string":"10.0.0.5",
"doc_count":4
},{
"from":167772165,
"from_as_string":"10.0.0.5",
"doc_count":6
}
]
}
}
}
掩码模式
命令:
代码语言:javascript复制{
"aggs":{
"ip_ranges":{
"ip_range":{
"field":"ip",
"ranges":[
{"mask":"10.0.0.0/25"},
{"mask":"10.0.0.127/25"}
]
}
}
}
}
返回
代码语言:javascript复制{
"aggregations":{
"ip_ranges":{
"buckets":[
{
"key":"10.0.0.0/25",
"from":1.6777216E 8,
"from_as_string":"10.0.0.0",
"to":167772287,
"to_as_string":"10.0.0.127",
"doc_count":127
},{
"key":"10.0.0.127/25",
"from":1.6777216E 8,
"from_as_string":"10.0.0.0",
"to":167772287,
"to_as_string":"10.0.0.127",
"doc_count":127
}
]
}
}
}