【发布时间】:2020-12-30 09:32:36
【问题描述】:
我正在使用 ES v7.3,并且我的索引中有父子映射,我想根据应用于子文档的一些聚合结果来限定我的索引中的父文档,但我不能这样做,这里是参考我需要的东西...
索引映射:
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 天内 page_view_count > 25 的用户,因此我们想汇总子文档中的 page_view_count 并检查它们的总和是否 > 25,如果满足条件,那么我们应该得到父文档作为响应否则不会。
注意:这些子文档是针对每个用户会话形成的,因此计数会保存在会话明智的 ES 文档中。
【问题讨论】:
标签: elasticsearch elasticsearch-aggregation