无论才能、知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。

如何聚合统计-ES6.3 父子文档分组聚合统计问题

Elasticsearch | 作者 zouxiang | 发布于2020年04月09日 | 阅读数:3086

各位实现过的进来说说, 研究两天了......
环境: ES6.3
场景: 同一个mapping下  商店为父文档(其中存有配送费), 顾客为子文档, 多对多关系.
需求:
    根据若干顾客和商店条件,查询每个顾客交易的所有商店的配送费的总和,并以此对所有顾客排序,并分页返回顾客数据.
 
尝试如下: 
"query": {
... 此处省略检索查询条件
},
"aggs": {
"groups": { # 自定义名称
"terms": {
"field": "pid", # pid为顾客ID(子文档)
"order": {
"orderField": "asc" # 按照pid分组聚合后按照 虚拟字段"orderField" 排序.
}
},
"aggs": {
"orderField": { # 自定义名称
"sum": { # sum聚合 配送费
"field": "fee" # fee为配送费字段(父文档)
}
}
}
}
}

可惜失败了, field: "pid" 貌似无效, 查不出任何数据. 单独 sum fee 可以统计出数据.
已邀请:

jc4Bob

赞同来自:

父子文档聚合不是这样用的吧,看看官方文档额。
https://www.elastic.co/guide/e ... .html

要回复问题请先登录注册