Link Search Menu Expand Document Documentation Menu

平均值聚合

avg 指标是一个单值指标,它返回字段的平均值。

参数

avg 聚合接受以下参数。

参数 必需/可选 数据类型 描述
field(字段) 必需 字符串 计算平均值的字段。
missing(缺失值) 可选 浮点型 为字段的缺失实例分配的值。默认情况下,avg 会从计算中忽略缺失值。

示例

以下示例请求计算 OpenSearch Dashboards 电子商务示例数据中 taxful_total_price 字段的平均值

GET opensearch_dashboards_sample_data_ecommerce/_search
{
  "size": 0,
  "aggs": {
    "avg_taxful_total_price": {
      "avg": {
        "field": "taxful_total_price"
      }
    }
  }
}

示例响应

响应中包含 taxful_total_price 的平均值

{
  "took": 85,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 4675,
      "relation": "eq"
    },
    "max_score": null,
    "hits": []
  },
  "aggregations": {
    "avg_taxful_total_price": {
      "value": 75.05542864304813
    }
  }
}

您可以使用聚合名称(avg_taxful_total_price)作为键从响应中检索聚合。

缺失值

您可以为聚合字段的缺失实例指定一个值。有关更多信息,请参阅缺失聚合

通过摄入以下文档来准备示例索引。请注意,第二个文档缺少 gpa

POST _bulk
{ "create": { "_index": "students", "_id": "1" } }
{ "name": "John Doe", "gpa": 3.89, "grad_year": 2022}
{ "create": { "_index": "students", "_id": "2" } }
{ "name": "Jonathan Powers", "grad_year": 2025 }
{ "create": { "_index": "students", "_id": "3" } }
{ "name": "Jane Doe", "gpa": 3.52, "grad_year": 2024 }

示例:替换缺失值

计算平均值,将缺失的 GPA 字段替换为 0

GET students/_search
{
  "size": 0,
  "aggs": {
    "avg_gpa": {
      "avg": {
        "field": "gpa",
        "missing": 0
      }
    }
  }
}

响应如下。与下一个示例(其中缺失值被忽略)进行比较

{
  "took": 12,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 3,
      "relation": "eq"
    },
    "max_score": null,
    "hits": []
  },
  "aggregations": {
    "avg_gpa": {
      "value": 2.4700000286102295
    }
  }
}

示例:忽略缺失值

计算平均值,但不分配 missing 参数

GET students/_search
{
  "size": 0,
  "aggs": {
    "avg_gpa": {
      "avg": {
        "field": "gpa"
      }
    }
  }
}

聚合器计算平均值,忽略包含缺失字段值的文档(默认行为)

{
  "took": 255,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 3,
      "relation": "eq"
    },
    "max_score": null,
    "hits": []
  },
  "aggregations": {
    "avg_gpa": {
      "value": 3.7050000429153442
    }
  }
}
剩余 350 字符

有问题?

想做贡献?