RAG & Retrieval · Ground answers in evidence
How do you keep a RAG index fresh?
Short answer
Ingest changes incrementally with stable document IDs, re-embed only changed chunks, and delete or tombstones removed content. Track indexing lag and run periodic reconciliation.
A full reindex is simple but slow and expensive. Production systems need incremental updates: detect a changed document, recompute only its affected chunks, upsert them, and remove chunks that no longer exist. Stable IDs make this possible.
- Use deterministic chunk IDs derived from document ID, version and position.
- Diff content or hashes to avoid re-embedding unchanged chunks.
- Upsert new vectors before deleting old ones so a failed update does not create a gap.
- Track the lag between source update and searchable index.
- Run reconciliation jobs to catch missed webhooks or failed ingests.
Follow-ups you should expect
Interviewers use these to check whether the first answer was understanding or memorisation.
- 1How would you handle a schema change in the chunk metadata?
- 2What would you alert on in the ingestion pipeline?
- 3How do you avoid serving a partially updated document?
Say it in the interview
I index incrementally with stable chunk IDs, re-embedding only what changed. New vectors go in before old ones are removed, so a failed job does not leave a hole. Deletes have to remove chunks and cached answers, not just the source row. I track indexing lag and run reconciliation to catch missed events. Freshness is a product promise, so it needs monitoring like any other SLA.
Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.
Related questions
Reading is step one
Now say it out loud.
Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live RAG & Retrieval mock interview and get scored feedback on depth, clarity and confidence.