是否可以使用elasticsearch获取代表聚合中计算的百分位数的文档示例?
"agg_percentile": {
"percentiles": {
"field": "my_value",
"percents": [
10,
50,
95
]
}
}
鉴于此聚合,我想得到每个百分位内的一个文档的示例。
例如:
"values": [
{
"key": 1.0,
"value": 1462.8400000000001,
"hit": {
"_source":...
}
},
因此,您将获得一个文档的样本,该文档会产生此百分位数。
在一个查询中是否可以?
我总是可以进行第二次查询,搜索my_value
大于第9个百分位数且小于第11个百分位数。但我想在一个查询中做到这一点。
有什么想法吗?
答案 0 :(得分:0)
{
"aggregations": {
"agg_percentile": {
"percentiles": {
"field": "my_value",
"percents": [
10,
50,
95
],
"keyed": false # --> pay attention, you now will get each percentile in seperate bucket
},
"aggregations":{
"top_hits":{
"size": 1
}
}
}
}
}
请注意,我们将keyed
参数设置为false
。
如docs中所述 - 它会将每个百分位数与单个存储桶分开 - 这使我们能够为每个百分位数添加另一级别的聚合 - Top Hits
。