Elasticsearch聚合 之 Ip Range IP地址範圍聚合
阿新 • • 發佈:2018-12-30
相對於range和date range,這個聚合就是能夠表示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 } ] } } }