【发布时间】:2020-05-21 02:27:53
【问题描述】:
我正在弹性搜索集群中恢复快照,但在恢复之前,我需要关闭所有打开的索引。我找到的关闭索引的命令是curl -XPOST "localhost:9200/twitter/_close",它只关闭一个索引twitter。我有一长串开放索引,每次都调用这个命令,这不是一个可行的解决方案。有没有人有任何想法让它更容易?
【问题讨论】:
标签: curl elasticsearch backup restore
我正在弹性搜索集群中恢复快照,但在恢复之前,我需要关闭所有打开的索引。我找到的关闭索引的命令是curl -XPOST "localhost:9200/twitter/_close",它只关闭一个索引twitter。我有一长串开放索引,每次都调用这个命令,这不是一个可行的解决方案。有没有人有任何想法让它更容易?
【问题讨论】:
标签: curl elasticsearch backup restore
curl -XPOST "localhost:9200/_all/_close"
使用_all 选择所有索引。
【讨论】:
{"error":"RemoteTransportException[[Bobster][inet[/10.20.35.2:9300]][indices:admin/close]]; nested: IndexMissingException[[_all] missing]; ","status":404}
这解决了我的问题:
curl -XPOST "localhost:9200/_all/_close"
快照未恢复,并抛出SnapshotRestoreException。
【讨论】:
根据documentation,您可以关闭所有索引:
$ curl -XPOST "localhost:9200/_all/_close"
如果您收到有关缺少索引的错误,您可以使用以下参数忽略它们:
$ curl -XPOST "localhost:9200/_all/_close?allow_no_indices=true&expand_wildcards=all"
【讨论】: