After we index documents into elastic search, we do some processing to enrich the document (like adding tags etc) with additional information. This is done for all documents and the search relies on this enriched data. We have roughly 10 fields that holds this additional data.
We have been looking at multiple options to avoid the re-indexing of entire document;
- Storing the document outside of ES initially and index only once the enrichment is done.
- Create a child (as in Parent-Child) document that will hold all the additional data, so only that gets re-indexed (please correct me if I am wrong)
- Update the main document with additional data (current behavior)
Would option 2 be a good choice? Will this have an impact on the search performance? We are in early development phase, hence don’t have much data to test the performance in different cases.