증분 결과가 전체 rebuild와 같은지 확인한다
100~1,000개 문서의 golden corpus를 만들고 초기 full build 결과의 ID, chunk text, vector 수와 metadata를 snapshot으로 보관합니다. 이후 한 줄 수정, 중간 삽입, rename, 삭제, 같은 내용 재업로드와 out-of-order event를 적용합니다. 같은 최종 source 상태에서 clean rebuild한 결과와 증분 target을 비교해 missing, orphan, duplicate를 찾습니다.
평가표에는 변경 source 수 대비 다시 parse, chunk, embed한 수, embedding 호출, 비용, freshness lag, queue backlog, failure retry와 reconciliation 차이를 둡니다. query 품질도 대표 질문의 recall로 비교합니다. 호출량이 줄어도 오래된 vector가 검색되거나 새 chunk가 빠지면 증분 최적화는 실패입니다.
특히 문서 첫머리에 한 문단을 삽입해 뒤 chunk 경계가 모두 이동하는 경우와 고정 ID를 유지하는 chunker를 비교합니다. 재계산 수가 적어 보여도 새 문맥을 반영하지 못한 cache hit라면 오류이므로, 최종 chunk text와 source offset을 함께 대조해야 합니다.
transform schema나 embedding model 교체는 blue/green index로 처리할 수 있습니다. 새 version을 별도 namespace에 채우고 golden query와 record count를 검증한 뒤 alias를 전환합니다. 점진 update 중 서로 다른 vector dimension이나 model이 한 index에 섞이지 않게 합니다. rollback은 이전 index와 metadata checkpoint를 함께 가리켜야 합니다.
운영 중에는 metadata와 target의 source별 count, hash를 표본 또는 partition 단위로 대조합니다. 차이가 임계값을 넘으면 해당 partition을 rebuild하고 원인을 기록합니다. 전체 재색인은 패배가 아니라 lineage가 틀렸을 때 신뢰를 회복하는 필수 복구 수단입니다.