如何在Elasticsearch 5.6中删除"按查询删除"的已完成任务



我目前有一个已完成的按查询删除任务:

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"响应。

最新更新