es聚合查询,根据es中的子文档聚合结果应用的条件获取父文档?

f4t66c6m  于 2021-06-09  发布在  ElasticSearch
关注(0)|答案(0)|浏览(333)

我使用的是es v7.3,我的索引中有父子Map,我想根据应用于子文档的一些聚合结果来限定索引中的父文档,但我不能这样做,这里是我需要的参考。。。
索引Map:

PUT example
{
  "mappings": {
    "properties": {
      "join": {
        "type": "join",
        "relations": {
          "user": "session"
        }
      }
    }
  }
}

父文档:

PUT example/_doc/1
{
  "join": {
    "name": "user"
  },
  "type": "identify",
  "device": "xx"
  "profileId": "1052210",
  "updatedAt": "2020-12-30T17:06:22.851Z"
}

第一个孩子医生:

PUT example/_doc/2?routing=1
{
  "join": {
    "name": "session",
    "parent": "1"
  },
  "page_view_count": 10,
  "creation_date": "2020-12-30T13:45:37.851Z"
}

二胎医生:

PUT example/_doc/3?routing=1
{
  "join": {
    "name": "session",
    "parent": "1"
  },
  "page_view_count": 20,
  "creation_date": "2020-12-30T13:45:37.851Z"
}

要求:
在过去7天内页面浏览次数>25的用户,我们希望将子文档中的页面浏览次数进行聚合,并检查其总和是否>25,如果满足条件,则应得到父文档的响应,否则不响应。
注意:这些子文档是为每个用户会话形成的,因此在会话类型的es文档中维护计数。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题