Hey,
We're investigating the best way to reindex our ES data after an index mapping update and came up with a way that could potentially work for us:
- new_index is the index we'll be creating
- old_index is the previous index
- Create a new_index using the updated index mapping
- Reindex old_index to new_index
- Add new_index to our alias and swipe
is_write_true
from old_index to new_index - Reindex old_index to new_index (sync the changes that occurred since the reindexing/adding to alias was completed)
- Drop old_index
So I think the above mostly works however in our case we use child queries. Since old_index and new_index won't be in sync, how would child queries work? Do they look into both indexes (kinda doubt that) or would the results returned be outdated until step 4, the second reindexing has been completed?
Thanks,
Matt