我正在考虑按 IP 版本(即 IPv4 连接与 IPv6 连接)绘制到我们各种服务(Web、邮件、DNS 等)的入站连接图。
目前 IP 存储在单个字段中。按版本计数/绘制 IP 的最佳方法是什么?创建一个新字段并对其进行计数?是否有可以运行以仅获取 v4 或 v6 IP 的查询?
答案1
您可以检查是否存在:
,或者继续计算字符串长度。
大多数,但不是全部!——::1
其他更短——IPv6 地址将 > 15 个字符。如果您只需要估算,长度可能是一种快速方法。
为了准确起见,我会解析字符串并确定它是 IPv6 还是 IPv4,然后将输出存储在单独的布尔字段中。或者使用脚本工具(即即时)进行正确的字符串解析。
{
"filter": {
"script": {
"script": "doc['ip_address'].size() > 15"
}
}
}