No. An embedding is a list of numbers, and any vector database can store it as is. Move your vectors, keep the same distance metric, and keep embedding queries with the same model.
Re-embed only when you want a different model. Then you have to re-embed everything, because vectors from different models do not live in the same space.
What has to stay the same?
Three things, and the migration works without touching a single vector:
| Keep | Why |
|---|---|
| The vectors | They encode your documents. Copy them exactly, as 32-bit floats |
| The distance metric | Chroma l2 becomes euclidean, cosine stays cosine, ip becomes dot_product |
| The query model | New queries must be embedded by the same model that made the stored vectors |
Change the metric and the same vectors rank differently. Change the query model and queries land in a different space from your documents, so results look random. See can you convert vectors between models for why there's no shortcut.
Why do some migrations re-embed anyway?
Some vendors suggest switching to their built-in embedding model during the move. That's a model change, not a migration step, and it brings two costs:
- Every document gets embedded again, which costs time and money on large collections.
- Results change, so you can't compare old and new search side by side to check the migration worked.
Separate the two. Move first and check that results match, then upgrade the model later if you want to.
What if your app queries with text?
If you called Chroma with query_texts, Chroma embedded the text for you. Your stored vectors still move as they are, but something now has to embed queries. You can run the same model yourself, or let the database do it.
How does this work in TopK?
The Chroma migration guide exports each collection with its vectors as f32 and maps the metric for you. TopK also stores compressed vectors (u8, i8, binary) and multi-vector embeddings, so you can shrink storage later without re-embedding from scratch.
If you'd rather stop managing embeddings, add a semantic index and TopK embeds documents and queries for you. That's your choice, not a requirement. Compare Chroma and TopK or book a migration call.