Reindex a collection, usually in order to change the index schema.
WARNING: Reindexing is potentially a lossy operation - some indexed data that is not available as
stored fields may be irretrievably lost, so users should use this command with caution, evaluating
the potential impact by using different source and target collection names first, and preserving
the source collection until the evaluation is complete.
Reindexing follows these steps:
- creates a temporary collection using the most recent schema of the source collection
(or the one specified in the parameters, which must already exist), and the shape of the original
collection, unless overridden by parameters.
- copy the source documents to the temporary collection, using their stored fields and
reindexing them using the specified schema. NOTE: some data
loss may occur if the original stored field data is not available!
- create the target collection from scratch with the specified name (or the same as source if not
specified) and the specified parameters. NOTE: if the target name was not specified or is the same
as the source collection then a unique sequential collection name will be used.
- copy the documents from the source collection to the target collection.
- if the source and target collection name was the same then set up an alias pointing from the source collection name to the actual
(sequentially named) target collection
- optionally delete the source collection.