Link Search Menu Expand Document Documentation Menu

百分位聚合

百分位是指低于或等于某个阈值的数据的百分比。

percentile 指标是一种多值指标聚合,可让您查找数据中的异常值或确定数据的分布。

cardinality 指标一样,percentile 指标也是近似值。

以下示例计算与 taxful_total_price 字段相关的百分位

GET opensearch_dashboards_sample_data_ecommerce/_search
{
  "size": 0,
  "aggs": {
    "percentile_taxful_total_price": {
      "percentiles": {
        "field": "taxful_total_price"
      }
    }
  }
}

示例响应

...
"aggregations" : {
  "percentile_taxful_total_price" : {
    "values" : {
      "1.0" : 21.984375,
      "5.0" : 27.984375,
      "25.0" : 44.96875,
      "50.0" : 64.22061688311689,
      "75.0" : 93.0,
      "95.0" : 156.0,
      "99.0" : 222.0
    }
  }
 }
}

您可以使用可选的 tdigest.compression 字段控制近似级别。值越大表示近似百分位的数据结构越精确,但占用的堆空间越多。默认值为 100。

例如,使用以下请求将 compression 设置为 200

GET opensearch_dashboards_sample_data_ecommerce/_search
{
  "size": 0,
  "aggs": {
    "percentile_taxful_total_price": {
      "percentiles": {
        "field": "taxful_total_price",
        "tdigest": { 
          "compression": 200
        }
      }
    }
  }
}

返回的默认百分位是 1、5、25、50、75、95、99。您可以在可选的 percents 字段中指定其他百分位。例如,要获取第 99.9 和 99.99 百分位,请运行以下请求

GET opensearch_dashboards_sample_data_ecommerce/_search
{
  "size": 0,
  "aggs": {
    "percentile_taxful_total_price": {
      "percentiles": {
        "field": "taxful_total_price",
        "percents": [99.9, 99.99]
      }
    }
  }
}

指定值将覆盖默认百分位,因此只返回您指定的百分位。

剩余 350 字符

有问题?

想贡献吗?