Contains unrecognized parameter: [ignore_unavailable]

On logstash (5.0) i use the geoip filter but the type of geoip.location is number and kibana expect an geo_point type.
so i try to apply a custom mapping on my index

it'works if a use the name of the index PUT/mail-2016-11.02 but if i try a wildcard in name it doesnt work

like this : curl -XPUT "http://elastic:elastic@127.0.0.1:9200/mail-* it doesnt work ( i think it's because there is non index with this name yet) so i'll try using the querystring option ignore_unavailable and allow_no_indices
but it doesnt work ! i got error message

"request [/mail-*] contains unrecognized parameter: [ignore_unavailable]"

Have you tried

PUT /{index}/_mapping/{type}
{ body }

like suggested in the reference?

Thanks for your anser i have just try it now like this but it doesnt work i received an :


PUT /{mail-*}/_mapping/{ex}?allow_no_indices=true&ignore_unavailable=true
{
"mappings": {
"ex": {
"properties": {
"client-hostname": {
...

this is the answer : i know that the index does not exit because i run a DELETE mail-* just before and this is what i want ! it seems that the querystring allow_no_indices is not works
{
"error": {
"root_cause": [
{
"type": "index_not_found_exception",
"reason": "no such index",
"index_uuid": "na",
"index": "[{mail-}]"
}
],
"type": "index_not_found_exception",
"reason": "no such index",
"index_uuid": "na",
"index": "[{mail-
}]"
},
"status": 404
}

That was probably a misunderstanding. If you take a look at the reference page you'll see that {index} and {type} are placeholders for actual index names (including multiple index names and wildcards). Leave the curly brackets for those two things and it should work.