前言
es批量操作执行时间过长,容易导致超时问题,可以使用异步执行
来解决批量操作过程中导致的超时问题。
异步执行
在操作方法后面添加wait_for_completion=false
参数
POST test/_delete_by_query?wait_for_completion=false
会返回一个任务ID(task):我们可以根据任务ID查询任务是否完成。
{
"task" : "C5IZF-ReSEeM4h7dXvlZIQ:396552398"
}
返回task的状态信息
GET /_tasks/C5IZF-ReSEeM4h7dXvlZIQ:396552398
返回信息中有完成状态信息,"completed":true
任务已完成,"completed":false
表示任务未完成,查询不到任务为报一个error
。