Index with ! in their name cant be selected for recovering

I have an ES cluster whith indices name like web.analytics.data.api!monthly!2018-07_v0 and doing regular snapshots/backups

Now, when I want to restore all of them, all works pretty well. If I want to restore just a specific index however, es wont do it. The command I use:

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
  }
}
'

The result I get is:

{
  "snapshot" : {
    "snapshot" : "20191218_060001",
    "indices" : [ ],
    "shards" : {
      "total" : 0,
      "failed" : 0,
      "successful" : 0
    }
  }
}

Please note, that If I use index without ! in its name (e.g. .kibana ), it works well. Any ideas of how I can solve that? Preferably without telling developers to rename the indices. The ES in question has version 1.7.3 I am aware it is EOL, but it is what I have to work with right now.

What worked for me when i had a % in the Index name was to use the url encoded Version
For you that would be
web.analytics.data.api%21monthly%212018-07_v0
(used https://www.urlencoder.org/ to encode it)

Thanks for your response!
What I read it, i though 'That must be it!' but unfortunately, the result is the same :frowning:

So.. yeah, it was my bad in the end... the developer which requested it had typo in the index name. The others I tried the restoration on was picked by me so it was right and also somebody told me that exclamation mark is problematic, so i did not double check. Thanks for help

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.