From qdrant
Guides embedding model migration in Qdrant without downtime, including zero-downtime strategies, side-by-side model evaluation, and when re-embedding can be avoided.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qdrant:qdrant-model-migrationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Vectors from different models are incompatible. You cannot mix old and new embeddings in the same vector space. On v1.18+, you can add or delete named vector fields on an existing collection — migration no longer always requires a new collection. On v1.17 or earlier, all named vectors must be defined at collection creation time.
Vectors from different models are incompatible. You cannot mix old and new embeddings in the same vector space. On v1.18+, you can add or delete named vector fields on an existing collection — migration no longer always requires a new collection. On v1.17 or earlier, all named vectors must be defined at collection creation time.
Use when: looking for shortcuts before committing to full migration.
You MUST re-embed if: changing model provider (OpenAI to Cohere), changing architecture (CLIP to BGE), incompatible dimension counts across different models, or adding sparse vectors to dense-only collection.
You CAN avoid re-embedding if: using Matryoshka models (use dimensions parameter to output lower-dimensional embeddings, learn linear transformation from sample data, some recall loss, good for 100M+ datasets). Or changing quantization (binary to scalar): Qdrant re-quantizes automatically. Quantization
Use when: production must stay available. Recommended for model replacement at scale.
If the cluster is v1.18 or later AND the collection has named vectors:
UpdateVectors Update vectorsIf the cluster is v1.17 or earlier OR the collection doesn't have named vectors:
Create a new collection with the new model's dimensions and distance metric
Re-embed all data into the new collection in the background
Point your application at a collection alias instead of a direct collection name
Atomically swap the alias to the new collection Switch collection
Verify search quality, then delete the old collection
Careful, the alias swap only redirects queries. Payloads must be re-uploaded separately.
Use when: A/B testing models, multi-modal (dense + sparse), or evaluating a new model before committing.
If the cluster is v1.18 or later:
UpdateVectors Update vectorsIf the cluster is v1.17 or earlier: You cannot add a named vector to an existing collection. Create a new collection with both vector fields defined upfront:
UpdateVectors Update vectorsusing: "old_model" vs using: "new_model"Co-locating large multi-vectors (especially ColBERT) with dense vectors degrades ALL queries, even those only using dense. At millions of points, users report 13s latency dropping to 2s after removing ColBERT. Put large vectors on disk during side-by-side migration.
If you anticipate future model migrations, define both vector fields upfront at collection creation.
Use when: adding sparse/BM25 vectors to an existing dense-only collection. Most common migration pattern.
You cannot add sparse vectors to an existing collection that uses a default (unnamed) dense vector. Must recreate:
If the collection already uses named dense vectors and is on v1.18+, add the sparse vector field directly without recreating Update vector schema.
Sparse vectors at chunk level have different TF-IDF characteristics than document level. Test retrieval quality after migration, especially for non-English text without stop-word removal.
Use when: dataset is large and re-embedding is the bottleneck.
update_mode: insert (v1.17+) for safe idempotent migration Update modewith_vectors=False, re-embed in batches, upsert into new collectionindexing_threshold_kb very high, restore after)For 400GB+ datasets, expect days. For small datasets (<25MB), re-indexing from source is faster than using the migration tool.
2plugins reuse this skill
First indexed Jul 8, 2026
npx claudepluginhub mvandermeulen/qdrant-skillsGuides embedding model migration in Qdrant without downtime, including zero-downtime strategies, side-by-side model evaluation, and when re-embedding can be avoided.
Implements vector search solutions using Pinecone, Weaviate, Qdrant, Milvus, and pgvector. Covers embedding strategies, indexing, and hybrid search for RAG and recommendation systems.
Guides vector database selection, embedding optimization, and semantic search implementation. Masters Pinecone, Weaviate, Qdrant, Milvus, pgvector for RAG and recommendation systems.