我有一个ES集群,其索引名称如web.analytics.data.api!monthly!2018-07_v0
并进行常规快照/备份
现在,当我要还原所有这些时,所有的工作都很好。但是,如果我只想还原特定索引,则不会这样做。我使用的命令:
curl -X POST "localhost:9200/_snapshot/s3_backups/20191218_060001/_restore?pretty&wait_for_completion=true" -H 'Content-Type: application/json' -d'
{
"indices": "web.analytics.data.api!monthly!2018-07_v0",
"index_settings": {
"index.number_of_replicas": 0
}
}
'
我得到的结果是:
{
"snapshot" : {
"snapshot" : "20191218_060001",
"indices" : [ ],
"shards" : {
"total" : 0,
"failed" : 0,
"successful" : 0
}
}
}
请注意,如果我使用名称中不含
!
的索引(例如.kibana
),则效果很好。关于我该如何解决的任何想法?最好不要告诉开发人员重命名索引。有问题的ES具有1.7.3
版本,我知道它是EOL,但这是我现在必须使用的版本。
最佳答案
最终这是我的坏事。我得到的索引不存在(其中有错别字),但我被告知!
有问题,所以我没有仔细检查,我选择了测试索引,所以它们当然是正确的...
关于elasticsearch - 用!索引以他们的名义不能被过滤以恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59389089/