【问题标题】:Average or Any other Aggregation on multiple fields of same type in Elastic Search弹性搜索中多个相同类型字段的平均或任何其他聚合
【发布时间】:2019-12-06 04:48:52
【问题描述】:

我无法编写请求正文来获取弹性搜索中多个字段的平均聚合。

我有两个字段 field1 和 field2 都是“双”数据类型。我能够获取单个字段的平均聚合。

这是针对单个字段的:

"aggs" : {
        "AvgValuesOfField1" : {
            "avg" : {
                "field" : "field1"
            }
        }
  }

对于两个字段(会报错)

"aggs" : {
        "AvgValuesOfField1" : {
            "avg" : {
                "field" : "field1"
            }
        },
        "aggs" : {
            "AvgValuesOfField2" : {
            "avg" : {
                "field" : "field2"
            }
        }
        }
  }

我得到的错误是 “[avg] 类型的聚合器 [group_By_field1] 不能接受子聚合” “无法解析名称为 [AvgValuesOfCITempIndex] 的 BaseAggregationBuilder:找不到解析器”

我需要的输出是数据库中所有文档的两个字段的平均值。 我正在使用弹性数据库 v6.8 有什么建议?提前致谢

【问题讨论】:

    标签: elasticsearch elasticsearch-aggregation


    【解决方案1】:

    对于单独的聚合,您可以执行以下操作,您不需要再次编写 aggs - 这是nested aggregations

    {
      "aggs": {
        "AvgValuesOfField1": {
          "avg": {
            "field": "field1"
          }
        },
        "AvgValuesOfField2": {
          "avg": {
            "field": "field2"
          }
        }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      • 1970-01-01
      相关资源
      最近更新 更多