我有一个包含脚本运行日志的数据库。其中一些日志包含StartTime和EndTime字段。
对于每种脚本(id),我想查询具有上述字段的那些脚本,并且它们的运行时间(EndTime - StartTime)超出其类型(id)的97.7百分位。
我设法使用以下查询返回每个脚本ID对应于第97.7百分位数的持续时间:
{
"query": {
"filtered": {
"filter": {
"and": [
{ "exists": { "field": "StartTime"} },
{ "exists": { "field": "EndTime"} }
]
}
}
},
"aggs": {
"script_run_percentiles": {
"terms": {
"field":"ID"
},
"aggs": {
"duration_percentiles": {
"percentiles": {
"script": "doc['EndTime'] - doc['StartTime']",
"percents": ["97.7"]
}
}
}
}
}
}
如何扩展此查询以返回超过此百分位数的脚本运行?我认为这必须使用过滤器完成,但我想知道是否可以过滤指标?