如何cancel掉慢查询

用户发送一个查询可能导致一个集群非常慢,CPU利用率非常高,所以用户有的时候想把占用资源非常多的查询cancel 掉。在ES 5.0之后es提供了cancel查询的命令。 es内部把所有的执行任务都封装成了task,可以通过task api来查看一个节点在执行的task任务列表,也可以使用task api来取消task。比如我们要查询所有在执行search类型的task,可以使用如下API:

GET /_tasks?actions=*search

取消所有在执行的search任务:

POST _tasks/_cancel?actions=*search

更多的使用方式可以参考官方网站的介绍。