I'm using RabbitMQ River Plugin for Elasticsearch to Insert/Delete data to our ElasticSearch indexes. River plugin only supports Bulk API. Our current data is using multiples indexes, an index by date, something like “indexName_yyyymmdd”
When deleting a given ID, we don’t know which index the ID could be locate. We thought we will be able to use wildcard format, like “indexName*” in the same way you can do in searches.
We have tried, different combinations, but it looks that either we are not using the correct syntax or wildcards are definitely not supported ???
Examples we have tried:
// using default index in the url …
POST /mybestfares_gb*/bestfares_data/_bulk
{ "delete": {"_id": " AUry2F0Mu2oVvm5kYHaK " }}
// index in the meta section …
POST /_bulk
{ "delete": {"_index":"mybestfares_gb*", "_type":"bestfares_data","_id": "AUry2F0Mu2oVvm5kYHaP" }}
In both cases we get the following error:
"error": "InvalidIndexNameException[[mybestfares_gb*] Invalid index name [mybestfares_gb*], must not contain the following characters [\\, /, *, ?, \", <, >, |, , ,]]"
In the ElasticSeach documentation this is being mentioned: “Single index APIs such as the Document APIs and the single-index alias APIs do not support multiple indices.”
And Bulk API is classified as a Multi-Document API, so I'm hopping is just a matter of me no using the correct syntax?