面试题答案
一键面试实现步骤
- 确定需要聚合的IP区间,例如192.168.0.0 - 192.168.0.255、10.0.0.0 - 10.0.0.255等。
- 使用Elasticsearch的聚合功能,具体为
range
聚合,针对IP地址字段进行操作。
关键代码片段(DSL)
{
"aggs": {
"ip_ranges": {
"range": {
"field": "ip_address_field",
"ranges": [
{
"from": "192.168.0.0",
"to": "192.168.0.255"
},
{
"from": "10.0.0.0",
"to": "10.0.0.255"
}
]
}
}
}
}
在上述代码中,ip_address_field
需替换为实际索引中的IP地址字段名称。ranges
数组内定义了不同的IP区间,每个区间通过from
和to
指定范围,最终通过聚合操作展示每个区间内的文档数量。