How to Upgrade a Vector Search Index to Voyage AI Embeddings
Upgrading to better embeddings means re-embedding your entire corpus and rebuilding the index, because vectors from different models are not compatible. You cannot mix voyage-3 vectors with vectors from your old model and expect sane results.
This is for anyone already running a vector search index who wants the retrieval boost from Voyage AI without a maintenance window.
Can you mix old and new embeddings in one index?
No, and this is the mistake that ruins the migration. Querying an index built from two different models returns garbage — the nearest-neighbor search compares distances across incompatible vector spaces.
That means a full re-embed of every document. There is no partial upgrade path. Plan for the token cost of the whole corpus, not just the new documents arriving each day.
How do you migrate without downtime?
Run two indexes side by side and cut over when the new one is complete:
- Create a new index with the Voyage model and its dimension count.
- Backfill historical documents in batches, writing to the new index only.
- Dual-write new and updated documents to both indexes so the new one stays current.
- Point a small percentage of traffic at the new index and compare relevance offline.
- Flip the read path fully, then delete the old index.
The dual-write window is the risky part. Keep it short — days, not weeks — because every missed write is a document that goes missing after cutover.
How do you verify the new index is actually better?
Replay a set of real queries against both indexes and compare ranking. Use a fixed query log of at least a few hundred entries and check how often the correct document appears in the top three results. Do this before you flip production traffic, not after.
| Check | Old index | New index |
|---|---|---|
| Top-3 hit rate | baseline | must improve |
| Vector dimensions | e.g. 768 | 1024 (voyage-3) |
| Storage per doc | baseline | ~33% larger |
Note the storage column. Bigger embeddings cost more to store and query, so a marginal relevance gain may not be worth it on a huge corpus.
What does re-indexing cost?
You pay the Voyage token cost for every document, once for the backfill and again for any re-embeds after edits. For a million-document corpus this is the line item that decides whether the upgrade is worth doing. Run the numbers before the backfill, not halfway through it.
Should you upgrade at all?
Yes if retrieval quality is a user-visible complaint, or if you moved from a generic model to a domain one like voyage-code-3. No if your current index already returns the right chunk most of the time — the cost and migration risk buy you little.
Quick Summary
- Never mix embeddings from two models in one index — do a full re-embed.
- Migrate with dual indexes and dual-write, then cut over.
- Verify with a fixed query log before flipping production traffic.
- Larger vectors mean higher storage and query cost — factor that in.
- Upgrade when retrieval is a complaint, not on a whim.
