elasticsearch elasticsearch中的消息聚合,elasticsearch,elasticsearch" /> elasticsearch elasticsearch中的消息聚合,elasticsearch,elasticsearch" />

elasticsearch elasticsearch中的消息聚合

elasticsearch elasticsearch中的消息聚合,elasticsearch,elasticsearch,例如,我有下一个文档 {sourceIP:1.1.1.1, destIP:2.2.2.2} {sourceIP:1.1.1.1, destIP:3.3.3.3} {sourceIP:1.1.1.1, destIP:4.4.4.4} 是否自动将它们聚合到一个包含下一个数据的文档中 {sourceIP:1.1.1.1, destIP:{2.2.2.2,3.3.3.3,4.4.4.4}} 因此,它看起来像SQL中的group by,但在elasticsearch中生成新文档而不是旧文档。我认为无论

例如,我有下一个文档

{sourceIP:1.1.1.1, destIP:2.2.2.2}
{sourceIP:1.1.1.1, destIP:3.3.3.3}
{sourceIP:1.1.1.1, destIP:4.4.4.4}
是否自动将它们聚合到一个包含下一个数据的文档中

{sourceIP:1.1.1.1, destIP:{2.2.2.2,3.3.3.3,4.4.4.4}}

因此,它看起来像SQL中的group by,但在elasticsearch中生成新文档而不是旧文档。

我认为无论如何都没有办法在索引时自动合并文档

{sourceIP:1.1.1.1, destIP:2.2.2.2}
{sourceIP:1.1.1.1, destIP:3.3.3.3}
{sourceIP:1.1.1.1, destIP:4.4.4.4}
但是,应该可以通过使用Elasticsearch提供的查询选项之一实现您计划查询的任何结果,同时为一个文档编制索引

  • 您可以为单独的文档编制索引,按sourceIP查询,并使用聚合来提供dest_ip

  • 如果只是为了查找源ip的目的ip,请计算文档数

另外,如果您想避免重复的源id+目标id组合,您可以将其浓缩并用作文档的源id


希望这有帮助。

是否希望Elasticsearch自动完成此操作?还是要在查询中执行此操作?如何支持Elasticsearch来知道要聚合哪些文档?请查看bucket aggregations()dest IP可以是一个数组,在索引时可以使用upsert()