Change/specify custom analyzer to existing index or how to reindex with custom analyzer

Hi,

I've indexed over 10 million documents and realized some of the fields should use specific custom analyzers (per language).

The index has over 50 fields, like below:

{
   .....
   "title": "blah",
   "japaneseTitle": "foo",
   "simplifiedChineseTitle": "bar",
  ....
}

I would now like to set specific custom analyzer to those language-specific *Title fields.

I searched and it seems the common practice to reindex. And there is a reindex API available. But what's the minimum effort to replicate the index with the custom analyzers, and bring the existing documents over to the new index, and it would auto analyze the keywords, without forcing me to index those 10 million documents all over again?

From Elastic Search to Elasticsearch

At the end, you will reindex all the documents. Even when using the reindex API.
So in short:

  • Create the new index with proper mapping and settings
  • Use the reindex API
  • Delete the old index (optional)