We are using elastic search for a file storage api implementation where by files are stored with metadata and the metadata is stored to elastic search. We are having issues at the moment where by when we need to add a new field to the existing mappings for an index our only option is to
- Delete the index
- Push the new mappings
- Store data again
This is fine for test environments but it's not an option for production especially where we have hundreds of thousands of documents stored.
What is the best option / approach for this? I was potentially looking into reindexing old_index to new_index but do we need to update all the old data with the new fields first?
EDIT: update so I found https://www.elastic.co/blog/changing-mapping-with-zero-downtime
Still unclear though even with the alias approach when I reindex the data from index_old -> index_new do I need the update the data while i'm doing it and add in the new fields?