Before Elasticsearch 5.0, to change the index settings, or change the mapping of an index, you have a create a new index and reindex the data. Reindexing a large index is usually lot of work, which involves reading the data from the source like a SQL database, transforming the data into Elasticsearch documents and loading the data into Elasticsearch. For large applications, batch processing engines such as Hadoop are used to reindex the data. Depending on how big the index is or how complicated the ETL (Extract, Transform, Load) process is, reindex can be very expensive. To solve this, Reindex API was introduced. The original JSON document used for indexing is stored in the _source field which can be used by the Reindex API to reindex the documents. The Reindex API can be used for the following:
- To change the mapping/settings of an existing index
- To combine documents...