Migration Plan
:::info Source
Sourced from services/search-service/MIGRATION_PLAN.md in the documentation repo.
:::
1. Rules
- Index alias + zero-downtime reindex; existing queries unaffected during reindex.
- Embedding model changes require full re-embed + alias swap.
- Document schema versioned; consumer (API) supports multiple versions.
2. Full Reindex Procedure
- Create new index
docs_v2_{tenant}_{timestamp}. - Replay document events + fresh embeddings.
- Verify document count ± 0.1% of source.
- Swap alias atomically.
- Keep old index 7 days then delete.
3. Embedding Model Migration
- New model: parallel embed; both old and new indices queryable.
- Gradual traffic shift via weighted query.
- After full migration, retire old model's embeddings.
4. Event Versioning
| Event | v | Policy |
|---|---|---|
search.document.indexed.v1 | v1 | Additive |
search.reindex.completed.v1 | v1 | Additive |
5. Schema Evolution
Add optional fields freely. Remove: deprecate + wait 1 milestone.
6. Analyzer Changes
- Per-locale analyzer changes require reindex.
- Rollout gradual by tenant.
7. Data Residency
- Per-tenant index region-pinned.
- Migration: bulk export + reindex target region.
8. GDPR
- Erasure: remove user documents + embeddings.
- Verify via replay test.
9. Changelog
New document types, new filters, analyzer versions, embedding model versions.