Skip to content

Migrating vector stores and caches

Moving vectors, metadata filters and embedding caches without silently degrading retrieval.

A retrieval stack has an unusual failure mode: it almost never stops working. Move an index to a different database and the queries still return ten rows. Swap the embedding model and the queries still return ten rows. Re-embed half a corpus and the queries still return ten rows. Nothing throws, nothing pages, and the only signal that anything is wrong arrives weeks later as a complaint that the answers have got vaguer.

These pages are about the checks that turn that silence into a signal — what a filter expression loses when it is translated, why an embedding cache keyed on text alone becomes a source of corruption the moment the model changes, and what a completeness audit has to compare before it can honestly say a re-embedding job finished. The migration steps are the easy half and are here too, but the checks are the part worth reading.

Migrating a RAG Pipeline From One Vector Database Client to Another

Rewriting a working pipeline's insert and query calls for a different vector database, including the parts of the query that have no counterpart.

10 min read

Why Metadata Filter Syntax Doesn't Transfer Between Vector Databases

The same filter intent written in five filter languages, and the four intents that cannot be expressed in all of them.

10 min read

Exporting Vectors and Metadata From One Vector Database to Another

The bulk export and re-insert pattern for moving stored vectors and their metadata without paying to recompute any embeddings.

10 min read

Migrating an Embedding Cache When You Change Models

Why a cache keyed on text alone serves vectors from the old model's space after a swap, how to confirm it, and what to do without discarding the cache.

9 min read

Keying an Embedding Cache So a Model Migration Can't Poison It

A cache key scheme built from every input that changes the vector, ordered so old and new model entries can coexist and be swept separately.

10 min read

What Changes in Semantic Search Quality After a Migration

Diagnosing a retrieval regression after an embedding change by comparing a fixed query set before and after, and separating a model effect from an incomplete re-index.

10 min read

Auditing Whether a Re-Embedding Migration Actually Finished

A completeness check that compares identifier sets, model tags and freshness rather than row counts, so a job that stopped partway cannot pass.

11 min read

Handling API Key Rotation During a Provider Migration

Sequencing a new provider's credentials alongside the old ones so there is no window where a running request has no valid key.

9 min read

Secrets Management When Running Two Providers at Once

Storing and selecting between several providers' credentials by environment, tenant and traffic share, without a request ever getting one provider's route and another's key.

10 min read

Other topics