弹性搜索:根据模式聚合文档

时间:2017-06-23 08:30:11

标签: elasticsearch aggregation

我的索引中有四个文档。这些如下。

客户端(:: ffff:10.0.0.6:27787)已连接

客户端(:: ffff:10.0.0.6:27805)已连接

客户端(:: ffff:10.0.0.6:27823)已连接

客户端(:: ffff:10.0.0.6:27875)已连接

=================

我希望将这些汇总如下。

客户端(:: ffff:10.0.0.6:_____)已连接

索引中有许多不同模式的文档,不仅仅是上面的文档模式,我希望通过聚合索引中的所有文档来获取所有模式。

我如何用ES做到这一点?如果ES没有直接支持这样的聚合,那么有什么想法吗?

此致 抗魔

1 个答案:

答案 0 :(得分:0)

您需要将索引的数据拆分为特定字段,以便可靠地汇总数据。

因此,您需要有一个流程,将字符串Client(::ffff:10.0.0.6:27787) Connected拆分为::ffff:10.0.0.6并将该内容放入其自己的字段中。

执行此操作的一种可能方法是使用摄取节点。摄取节点有一个所谓的Azure Database for PostgreSQL: Use Python to connect and query data来从文本中提取结构化数据。

有了这个,您可以将IP地址和索引提取到自己的字段中(您也可以使用ip数据类型,这样您就可以根据需要进行CIDR样式范围查询) - 然后您可以聚合很容易就这些数据。

希望这有帮助!

- 亚历