如何在Elasticsearch中停止重新索引编制?

Dru*_*bio 3 elasticsearch

我已经开始使用Reindex API将一些数据从一个索引重新索引到另一索引。问题是,即使我尚未完成重新索引编制过程,现在也要停止它。我可以看到使用此命令运行的进程:

GET _tasks?detailed=true&actions=*reindex
Run Code Online (Sandbox Code Playgroud)

但是,我该如何阻止它?

编辑:停止整个群集是不可能的,因为它同时用于其他目的。

Pol*_*ton 13

您可以使用取消任务API如果任务cancellable

引用文档

可以使用Task Cancel API取消任何重新索引:

POST _tasks/node_id:task_id/_cancel
Run Code Online (Sandbox Code Playgroud)

可以使用Tasks API找到task_id。

取消应该很快发生,但可能需要几秒钟。Tasks API将继续列出任务,直到它唤醒以自行取消。


使用下面的命令,获取任务ID并按照

GET _tasks?detailed=true&actions=*reindex
Run Code Online (Sandbox Code Playgroud)

使用id命令中给出的内容,并使用Task API取消

 "tasks" : {
    "r1A2WoRbTwKZ516z6NEs5A:36619" : {
      "node" : "r1A2WoRbTwKZ516z6NEs5A",
      "id" : 36619,
      "type" : "transport",
      "action" : "indices:data/write/reindex",
      .....
}
Run Code Online (Sandbox Code Playgroud)

  • 此解决方案有效,但是我需要节点ID和任务ID。该解决方案看起来更像是“ POST _tasks / node_id:task_id / _cancel” (3认同)