百分位聚合

百分位是指数据中处于或低于某个特定阈值的数据所占的百分比。

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
        }
      }
    }
  }
}