我目前有一个已完成的按查询删除任务:
curl-XGET"http://localhost/_tasks/x0i0D1FdEs-M29DDewnPwkg:257894116"{"已完成":true,"任务":{"节点":"x0i0D1FdEs-M29DDewnPwkg","id":257894116,"类型":"传输","操作":"索引:数据/写入/删除/通过查询","状态":{,"requests_per_second":-1.0,"throttled_until_millis":0},"description":"delete by query[testIndex]","start_time_in_millis":1509555456799,"running_time_in_nanos":386994755521,"cancellable":true},"response":{":0,"requests_per_second":-1.0,"throttled_until_millis":0,"失败":[]}}%
Tasks的查询删除文档说明如下:
如果请求包含wait_for_completion=false,那么Elasticsearch将执行一些飞行前检查,启动请求,然后返回一个任务,该任务可以与任务API一起使用以取消或获取任务的状态。Elasticsearch还将在.tasks/task/${taskId}上创建此任务的文档记录。这是您可以根据需要保留或删除的完成后,删除它,这样Elasticsearch就可以回收它使用的空间
然而,当我运行以下程序时:
curl-XDELETE"http://_tasks/x0i0D1FdEs-M29DDewnPwkg:257894116">
我得到
未找到uri[/_tasks/x0i0D1FdEs-M29DDewnPwkg:257894116]和方法[DELETE]%的处理程序
您需要使用以下命令删除任务
curl -XDELETE "http:localhost/.tasks/task/x0i0D1FdEs-M29DDewnPwkg:257894116"
@Val的答案是正确的。我还想提一下,您只能使用wait_for_deletion == false
删除任务。根据我的尝试,如果您在发送查询删除任务时有wait_for_deletion == true
,则该任务仅"在内存中"。完成后,它将不会存储在.task
系统索引中。您不需要删除任何内容,尝试删除它会给您一个"resource_not_found_exception"响应。