elasticsearch - 具有嵌套字段聚合和字段子聚合(从根)的弹性查询返回空的存储桶数组
问题描述
我编写了一个查询,其中包含对嵌套字段的聚合和对未嵌套但在根中的字段的子聚合。我希望得到每个 ownerId 的总和,但我得到了一个空的桶数组。
以下查询返回一个空的桶数组 - 尽管有结果和一个正数。
GET my-index/_search
{
"size": 0,
"aggs": {
"agg_owner": {
"nested": {
"path": "owner_fields"
},
"aggs": {
"raw_names": {
"terms": {
"field": "owner_fields.id.keyword",
"size": 10
},
"aggs": {
"total_amount": {
"reverse_nested": {},
"aggs": {
"total_inner_amount": {
"terms": {
"field": "amount",
"size": 10
}
}
}
}
}
}
}
}
}
}
返回:
{
"took" : 4,
"timed_out" : false,
"_shards" : {
"total" : 2,
"successful" : 2,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 45430,
"max_score" : 0.0,
"hits" : [ ]
},
"aggregations" : {
"agg_owner" : {
"doc_count" : 15494,
"raw_names" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [ ]
}
}
}
}
我希望看到每个 ownerId 的总和,但这并没有发生。
解决方案
必须从聚合中删除关键字:“owner_fields.id.keyword”=>“owner_fields.id”
推荐阅读
- c++ - 重构 MFC 消息映射以包含完全限定的成员函数指针
- android - 阻止来自 Facebook Android SDK 的网络请求
- android - 添加滚动条,然后在 textview 中添加虚拟文本,使其下方的布局消失
- android - 如何制作类似于 EditText 的视图以进行 SMS 代码验证?
- java - 将 SSL 证书转换或导入到 java 密钥库
- slack - 为什么 Botkit 将数据存储在 json_file_store 中?
- css - 本地和 S3 页面呈现不同
- python - 在抛出异常之前调用的模拟断言函数
- javascript - 请求在 react-native 和 axios 中不返回任何数据
- ios - 我可以将数据库架构从一个 firebase 项目克隆到另一个项目吗?