我无法编写请求主体以在弹性搜索中获取多个字段上的平均聚合。
我有两个字段field1和field2均为'double'数据类型。我能够获取单个字段的平均聚合。
这是一个字段:
"aggs" : {
"AvgValuesOfField1" : {
"avg" : {
"field" : "field1"
}
}
}
和两个字段(会给出错误)
"aggs" : {
"AvgValuesOfField1" : {
"avg" : {
"field" : "field1"
}
},
"aggs" : {
"AvgValuesOfField2" : {
"avg" : {
"field" : "field2"
}
}
}
}
我遇到的错误是 “类型为[avg]的聚合器[group_By_field1]无法接受子聚合” “无法解析名称为[AvgValuesOfCITempIndex]的BaseAggregationBuilder:找不到解析器”
我需要的输出是数据库中存在的所有文档上两个字段的平均值。 我正在使用弹性DB v6.8 有什么建议么?在此先感谢
答案 0 :(得分:0)
对于单独的聚合,您可以执行以下操作,无需再次编写aggs-这是针对nested aggregations的:
{
"aggs": {
"AvgValuesOfField1": {
"avg": {
"field": "field1"
}
},
"AvgValuesOfField2": {
"avg": {
"field": "field2"
}
}
}