Supported sources
| Source | Status | Notes |
|---|---|---|
| Qdrant | Supported in CLI v0.1.5 | Dense vectors, named dense vectors, sparse vectors, payload indexes, local checkpoints, validation reports, and dense/sparse-vector query overlap checks. |
| Pinecone Serverless | Supported in CLI v0.1.5 | Dense indexes, sparse indexes, namespaces, ID-prefix scoped migrations, metadata payloads, local checkpoints, validation reports, and dense/sparse-vector query overlap checks. |
| Elasticsearch | Supported in CLI v0.1.5 | Index mappings, scalar/text fields, dense vectors, PIT/search_after reads, local checkpoints, and validation reports. Query-overlap validation is not implemented for Elasticsearch yet. |
| OpenSearch | Planned | Use the same CLI workflow once OpenSearch support is available. |
| Chroma | Planned | Use the same CLI workflow once Chroma support is available. |
| Weaviate | Planned | Use the same CLI workflow once Weaviate support is available. |
Migration workflow
- Install the CLI.
- Generate an inventory and editable mapping from the source.
- Review the generated LambdaDB collection and field mapping.
- Run a dry run.
- Run the migration with validation enabled.
- Review the validation report and representative search results.
- Switch production traffic after result quality, latency, and application query rewrites are verified.
Install the CLI
Install the latest release:PATH, then check the CLI:
Common CLI behavior
LambdaDB Cloud uses region-specific API base URLs. Use the base URL, project name, and project API key shown for your project in the LambdaDB Cloud console. Do not assume a global default URL or a fixed project name.
target.createCollection: true by default. With that setting, the migration creates the LambdaDB collection if it does not already exist, then waits until the collection is ready before writing documents.
Use --migration.create-collection=false when the LambdaDB collection already exists and the migration should fail instead of creating it.
The CLI stores local checkpoints under .lambdadb-migration/checkpoints by default. If a migration is interrupted, rerun the same command to resume from the last saved checkpoint. Use --migration.restart to start from the beginning.
Validation
Use--migration.validate for post-migration checks. Validation compares the accepted record count against the source inventory, fetches a sample of migrated documents from LambdaDB with strongly consistent reads, and compares sampled fields.
Use --migration.validation-report to write a JSON report:
--migration.query-overlap compares source and LambdaDB nearest-neighbor results for validation samples. By default, it reports overlap without failing the migration. Set --migration.query-overlap-min-ratio above 0 to require a minimum average overlap. Query-overlap validation is not implemented for Elasticsearch yet.
Next steps
Migrate from Qdrant
Move Qdrant collections, points, vectors, sparse vectors, and payload indexes to LambdaDB.
Migrate from Pinecone
Move Pinecone Serverless indexes, namespaces, vectors, and metadata to LambdaDB.
Migrate from Elasticsearch
Move Elasticsearch index mappings, documents, and dense vectors to LambdaDB.
Create a collection
Learn how LambdaDB collection index configurations map to migrated data.
Bulk upsert data
Understand LambdaDB bulk loading behavior for unmanaged-vector collections.
Hybrid query
Rewrite dense, sparse, and lexical hybrid search after migration.