After upgdare to 2.3.5: Mapping definition has unsupported parameters

I have upgraded ES from 1.7.5 to 2.3.5. Now I can't put settings (early i used index_analyzer instead of just analyzer):
{ "settings" : { "number_of_shards" : 1, "number_of_replicas": 1, "analysis": { "filter": { "autocomplete_filter": { "type": "edge_ngram", "min_gram": 1, "max_gram": 20 } }, "analyzer": { "autocomplete": { "type": "custom", "tokenizer": "standard", "filter": [ "lowercase", "autocomplete_filter" ] } } } }, "mappings" : { "contact" : { "properties" : { "orgInn" : { "type" : "string", "index" : "analyzed", "analyzer": "autocomplete", "search_analyzer": "standard" } } } } }

I am getting bad request error:
{ "error": { "root_cause": [ { "type": "mapper_parsing_exception", "reason": "Mapping definition for [orgInn] has unsupported parameters: [**index_analyzer** : autocomplete]" } ], "type": "mapper_parsing_exception", "reason": "Failed to parse mapping [contact]: Mapping definition for [orgInn] has unsupported parameters: [**index_analyzer** : autocomplete]", "caused_by": { "type": "mapper_parsing_exception", "reason": "Mapping definition for [orgInn] has unsupported parameters: [**index_analyzer** : autocomplete]" } }, "status": 400 }

It's strange that if I get pure 2.3.5 version (without upgrading) the request is succeed.
Why is that?

Hi einfoman.
This was listed in the breaking changes here:

I saw this.
And I send a true request, don't? I have no index_analyzer parameter in the request but I have analyzer parameter
Why in ES 2.3.5 (after upgrading) I get error but in new 2.3.5 (just installed) I can execute the request?

Ah, sorry. I had assumed from this comment that you meant index_analyzer was giving you the issue

I'm struggling to understand why a request with analyzer is returning an error response saying that you passed index_analyzer. Are you changing settings for an existing index or is this as part of defining a new index?

I try to create a new index. I send a request exactly as in the topic.
But I've got different results depending on ES instances.

I found out the reason why such behavior was.
It turns out we uses templates and the template was with old mapping settings. We forgot update it when updated ES to 2.3.5.
Anyway, it is not obvious and I didn't find any mentions about it.

Good catch!