百分位聚合
百分位是指低于或等于某个阈值的数据的百分比。
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]
}
}
}
}
指定值将覆盖默认百分位,因此只返回您指定的百分位。