Hey @clean-butcher-75125 , it depends, but I think most implementations just re-chunk/re-embed the whole document. This is probably good enough in terms of costs and is the easiest to implement, since the new content could have ripple affects on all the chunks (boundaries, overlap, etc.) depending on the chunking strategy you're using.
Some of the key inputs to the decision are understanding how often updates happen in the first place, as well as how large the documents are. If updates are occasional, then re-chunking and embedding the whole document is fine/negligible. If docs are updated frequently, and if the documents are on the larger side, it might be worth getting more granular. Another thing to consider is how documents change. For example, if the edits are localized to one small section vs edits throughout the document.
If you end up implementing a granular strategy to only re-process what has changed, then implementing a hashing mechanism to identify when content has/hasn't changed is probably the way to go. There are some edge cases too, like needing to know when a given chunk shouldn't be re-embedded but should rather be deleted from the index.
Hope this helps!