【Elasticsearch】 邻接矩阵聚合(Adjacency Matrix Aggregation)

 Elasticsearch 的邻接矩阵聚合(Adjacency Matrix Aggregation)是一种特殊的桶聚合,用于分析多个过滤器之间的交集关系。它可以帮助你快速了解哪些文档同时满足多个条件,并统计每个交集的文档数量。这种聚合特别适用于分析复杂的关系网络,例如社交网络中的用户交互、事件之间的关联等。

核心概念

1. 过滤器(Filters):

邻接矩阵聚合通过一组命名的过滤器来定义不同的条件。每个过滤器可以是一个简单的查询,例如`term`、`terms`或`range`查询,用于筛选满足特定条件的文档。

2. 交集(Intersections):

邻接矩阵聚合会计算所有过滤器之间的交集。例如,如果有过滤器`A`和`B`,它会计算同时满足`A`和`B`的文档数量。

3. 对称性(Symmetry):

邻接矩阵是对称的,即`A&B`和`B&A`是相同的交集。因此,聚合结果只返回一半的交集,避免重复。

4. 结果(Buckets):

每个交集被表示为一个桶(bucket),每个桶包含一个键(key)和一个文档计数(doc_count)。键是过滤器名称的组合,例如`A&B`。

示例说明

假设我们有一个索引`emails`,其中记录了不同用户之间的电子邮件往来。我们希望分析哪些用户群体之间有邮件交互。

示例数据

```json

PUT emails/_bulk?refresh

{ "index" : { "_id" : 1 } }

{ "accounts" : ["hillary", "sidney"]}

{ "index" : { "_id" : 2 } }

{ "accounts" : ["hillary",

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值