百分位排名聚合
百分位排名是指小于或等于某个阈值的值所占的百分位数,按指定值分组。例如,如果一个值大于或等于 80% 的值,则其百分位排名为 80。
GET opensearch_dashboards_sample_data_ecommerce/_search
{
"size": 0,
"aggs": {
"percentile_rank_taxful_total_price": {
"percentile_ranks": {
"field": "taxful_total_price",
"values": [
10,
15
]
}
}
}
}
示例响应
...
"aggregations" : {
"percentile_rank_taxful_total_price" : {
"values" : {
"10.0" : 0.055096056411283456,
"15.0" : 0.0830092961834656
}
}
}
此响应表明值 10 处于第 5.5 百分位,值 15 处于第 8.3 百分位。
与 percentiles 聚合一样,您可以通过设置可选的 tdigest.compression 字段来控制近似程度。较大的值可以提高近似精度,但会占用更多堆空间。默认值为 100。
例如,使用以下请求将 compression 设置为 200:
GET opensearch_dashboards_sample_data_ecommerce/_search
{
"size": 0,
"aggs": {
"percentile_rank_taxful_total_price": {
"percentile_ranks": {
"field": "taxful_total_price",
"values": [
10,
15
],
"tdigest": {
"compression": 200
}
}
}
}
}