
Qdrant review
Vector database written in Rust, with payload filtering, hybrid search and quantization
Chandan Kumar is a founder of Geekflare. He is a technology enthusiast and entrepreneur who loves to help businesses and people around the world. Chandan has worked at BNP Paribas, Citibank, Deutsche Bank, Motorola, and HP. He’s got an in-depth understanding of business software and IT infrastructure.
Verdict
Qdrant is a single Rust service with filtering, hybrid search, many quantization options and audit logging in the free version, and it grows from one Docker container to a sharded cluster. The main catch is that server-side embeddings, SSO and the Kubernetes operator with automated backups are only in Qdrant Cloud or its paid private editions.
Best for
Teams that want a light self-hosted vector database with strong filtering
Not for
Teams that want the database to create embeddings on their own servers
Pros
- Rich payload filters combined with vector search in one query
- Scalar, binary, product and TurboQuant quantization
- Per-collection access tokens and audit logging in the free version
- Qdrant Edge runs the same engine inside your app
Cons
- Server-side embedding models are only in Qdrant Cloud
- The free Helm chart lacks the paid operator's zero-downtime upgrades and backups
- No authentication until you set an API key
“Easy to use, solid performance, great for self-hosting”
Hacker News, Nov 2025“have been pretty happy with it”
Hacker News, Jun 2026“had unrecoverable shard failures on Qdrant”
Hacker News, Jan 2026
Is Qdrant right for your project?
Describe what you need and AI will check the fit against this review.
Qdrant features and capabilities
Filtering built into search
Any JSON payload can be indexed and filtered by keyword, full-text, number range or location in the same query as the vector search, so you do not need a second store for metadata.
Hybrid search with sparse vectors
Dense, sparse and multi-vectors such as ColBERT can be combined in one query and merged with rank fusion, so keyword matches and meaning both count.
Control over memory
Quantization down to 1 bit per dimension and per-component memory settings let you keep vectors on disk and only hot parts in RAM, which cuts server costs.
Multi-tenancy in one collection
Tenants can share a collection through a tenant field, get their own shard, or move from a shared shard to a dedicated one as they grow.
Qdrant Edge for devices
A beta library for Python and Rust runs Qdrant inside your application with no server, and can sync data with a Qdrant server later.
- Hybrid searchCombines keyword and vector search in one query
- YesSparse and dense vectors fused in one query
- Built-in embeddingsTurns text into vectors for you, so you don't call an embedding API yourself
- PartlyBM25 in the server; dense models via FastEmbed in the client or Qdrant Cloud
- QuantizationCompresses vectors to cut memory
- YesScalar, binary, product and TurboQuant
- Disk-based indexServes indexes bigger than memory from SSD
- YesOn-disk vectors and indexes via memory mapping
- Sharding and replicationSpreads data across nodes in the free version
- Yes
- Multi-tenancyKeeps each customer's data apart in one database
- YesTenant field, per-tenant shards or tiered
- Embedded modeRuns inside your app with no separate server
- YesQdrant Edge, in beta
At a glance
- Type
- Vector database
- Stack
- Rust
- SSO
- Paid only
- Roles and permissions
- Free edition
- Audit logs
- Free edition
Free vs paid editions
What you get when you self-host, and what needs a paid plan.
Qdrant is free under Apache 2.0, including clustering, per-collection access tokens, audit logging and every quantization method. Qdrant Cloud adds managed clusters, Cloud Inference for embeddings and SSO on its Premium tier, and Hybrid Cloud and Private Cloud run Qdrant's Kubernetes operator in your own infrastructure. The free cloud tier is a single node with 1 GB of RAM, and paid tiers are billed by usage with no published starting price.
Self-hosting Qdrant
Qdrant gives no minimum CPU or RAM, and needs a 64-bit x86 or ARM CPU and local block storage, since it does not work on NFS or S3.
New cloud server to ready
5 s
Memory in use at idle
16 MB of 4 GB
Load and index 100,000 vectors
1 min 56 s, 984 MB peak
Recall@10
99.3%
Median search
7.2 ms
Slowest 5%
8.8 ms
Version tested
1.19.2 · Oct 19, 2026
- One docker run and the API answered 5 seconds later. The built-in dashboard at /dashboard lists collections and points, and has a tab that checks search recall.
- Uploading 100,000 vectors took 94 seconds, and the background optimizer needed another 22 seconds to finish the HNSW index. Memory peaked at 984 MB.
- With default settings it found 99.3% of the true top 10 across 1,000 searches, at a median of 7.2 ms and 8.8 ms for the slowest 5%.
- After the load Docker reported only 114 MB in use, because Qdrant memory-maps its data and leaves it in the operating system's page cache, which Docker doesn't count.
# docker run -d -p 127.0.0.1:6333:6333 -v ./storage:/qdrant/storage qdrant/qdrant:v1.19.2
from qdrant_client import QdrantClient, models
client = QdrantClient(url="http://127.0.0.1:6333")
client.create_collection("dbpedia",
vectors_config=models.VectorParams(size=1536, distance=models.Distance.COSINE))
for lo in range(0, 100_000, 1000): # vectors, titles: the 100,000 DBpedia rows
client.upsert("dbpedia", points=models.Batch(
ids=list(range(lo, lo + 1000)), vectors=vectors[lo:lo + 1000].tolist(),
payloads=[{"title": t} for t in titles[lo:lo + 1000]]), wait=True)
hits = client.query_points("dbpedia", query=query.tolist(), limit=10).points[
{"id": 1004, "score": 0.8791, "payload": {"title": "Apache HTTP Server"}},
{"id": 99963, "score": 0.8612, "payload": {"title": "Web container"}},
{"id": 20767, "score": 0.8567, "payload": {"title": "Java servlet"}},
{"id": 20383, "score": 0.8537, "payload": {"title": "JavaServer Pages"}},
{"id": 396, "score": 0.8526, "payload": {"title": "Apache Software Foundation"}}
]What you can do with Qdrant
Product search with filters
Combine vector similarity with price, stock and category filters in one query for an online shop.
RAG for an internal knowledge base
Store document chunks with dense and sparse vectors and use hybrid search to feed an LLM the right passages.
Search on devices
Use Qdrant Edge to run search inside a desktop or embedded app and sync with a central server when online.