Q:

Remove index filter settings on an existing index with documents

I've created an index on my elasticsearch server with the following settings:
PUT /myindex
{
    "settings": {
        "number_of_replicas": 0,
        "analysis": {
            "analyzer": {
                "default": {
                    "tokenizer": "standard",
                    "filter":  [ "lowercase", "asciifolding" ]
                }
            }
        }
    }
}

After adding a lot of documents, I've updated my index settings using the following request:
PUT /myindex/_settings
{
    "settings": {
        "analysis": {
            "analyzer": {
                "default": {
                    "tokenizer": "standard",
                    "filter":  [ "asciifolding" ]
                }
            }
        }
    }    
}

and removed the index lowercase filter, but it seems that all my documents on that index are still indexed with lowercase filtering. Should I have to reindex all my documents (sigh) or is there any way to tell elasticsearch to update all documents considering my new filter settings?

A:

You need to reindex, basically underlying lucene index segment is immutable. If you have fresh ES version this API will help you: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html otherwise you have to use search&scroll or just refetch the data from the original source

