3.7 KiB
title, weight, is_empty, partition
| title | weight | is_empty | partition |
|---|---|---|---|
| Migration Tool | 200 | false | ecosystem |
Migrate to Qdrant
The Qdrant Migration Tool is a CLI that moves your vectors, metadata, and sparse embeddings from other vector databases into Qdrant. It runs as a Docker container, streams data in batches, and can resume interrupted migrations.
docker pull registry.cloud.qdrant.io/library/qdrant-migration
Supported Sources
| Source | CLI Subcommand | Auto-Creates Collection? |
|---|---|---|
| Pinecone | pinecone |
Yes |
| Weaviate | weaviate |
No (must pre-create) |
| Milvus | milvus |
Yes |
| Elasticsearch | elasticsearch |
Yes |
| OpenSearch | opensearch |
Yes |
| pgvector | pg |
Yes |
| S3 Vectors | s3 |
Yes |
| Chroma | chroma |
Yes |
| Redis | redis |
No (must pre-create) |
| MongoDB | mongodb |
No (must pre-create) |
| FAISS | faiss |
Yes |
| Apache Solr | solr |
No (must pre-create) |
| Qdrant | qdrant |
Yes |
Not seeing your current vector store? Open an issue on GitHub and let us know!
General Advice
-
Run the tool close to your databases. Direct connectivity between source and target is not required — the tool streams through the machine it runs on. For best performance, use a machine with low latency to both.
-
Use
--net=hostfor local instances. If either database runs on the host machine, the container needs host networking to reachlocalhost. -
The tool resumes by default. Migration progress is tracked in a
_migration_offsetscollection in Qdrant. If a migration is interrupted, re-running the same command picks up where it left off. Use--migration.restartto force a fresh start. -
Batch size is tunable. The default batch size is 50. For large migrations, increase it with
--migration.batch-size(e.g., 256 or 512) to improve throughput.
Universal CLI Options
These flags apply to all source types:
| Flag | Default | Description |
|---|---|---|
--migration.batch-size |
50 | Points per upsert batch |
--migration.restart |
false | Ignore saved progress, start fresh |
--migration.create-collection |
true | Auto-create target collection |
--migration.batch-delay |
0 | Milliseconds between batches |
--migration.offsets-collection |
_migration_offsets |
Collection used to track migration progress |
--debug / --trace |
— | Verbose logging |
--skip-tls-verification |
false | Skip TLS certificate verification |
After Migration
Once your data is in Qdrant, verify that everything arrived correctly:
- Migration Verification Guide — a structured framework covering data integrity checks and search quality validation.
- Keeping Postgres in Sync — if you're running Postgres alongside Qdrant, learn how to keep them in sync.