如何在Elasticsearch聚合中获取公共部分(交集)

时间:2019-07-23 18:51:18

标签: elasticsearch aggregation

我需要您在Elasticsearch聚合方面的帮助。我有包含有关页面浏览量信息的索引,我想为选定页面的拥有另一页面文档的用户计数

示例数据:

user_id|page_id
user1|1
user2|1
user3|1
user1|2
user4|2

我想得到类似的东西:

  • page_users_count:3(user1,user2,user3)
  • page_users_count_which_have_another_page:1(用户1)

在下面的查询中,我可以让用户使用所选页面:

{
  "size": 0,
  "aggs": {
    "selected_page": {
      "filter": {
        "match": {
          "page_id": 1
        }
      },
      "aggs": {
        "page_users_count": {
          "cardinality": {
            "field": "user_id"
          }
        }
      }
    }
  }
}

如何添加另一个可以通过上述聚合进行过滤的聚合?

0 个答案:

没有答案