範囲と日付範囲に関しては、重合は、IPの範囲を表すことが可能です。
通常のIPモード
DSLコマンド:
{
"aggs":{
"ip_ranges":{
"ip_range":{
"field":"ip",
"ranges":[
{"to":"10.0.0.5"},
{"from":"10.0.0.5"}
]
}
}
}
}
リターンの結果:
{
...
"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
}
]
}
}
}
マスクモード
コマンド:
{
"aggs":{
"ip_ranges":{
"ip_range":{
"field":"ip",
"ranges":[
{"mask":"10.0.0.0/25"},
{"mask":"10.0.0.127/25"}
]
}
}
}
}
リターン
{
"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
}
]
}
}
}
ます。https://my.oschina.net/u/204616/blog/544973で再現