在es中使用profile分析慢查询的时候,往往因为分片过多,或者因为查询条件太复杂,分析的结果几十万行。在kibana上点半天,也找不到一个耗时长的分片。
kibana上可以通过正则来匹配。其实我们只需要匹配到耗时大于10秒的请求。
检索语句
GET my_index/_search?human=true
{"profile": "true", "query": {"match": {"FIELD": "TEXT"}}
}
分析结果
我这里的分析结果已经到了几十万行,几千个分片。
在kibana上使用正则匹配
("time")\s+:\s+"((\d){2,}|(\d{2,}.\d+))s
在kibana上这样操作: