PermissiveApache-2.0Tested by Geekflare

Qdrant review

Vector database written in Rust, with payload filtering, hybrid search and quantization

Data refreshedMethodologyHow we tested
Founder of Geekflare

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
What people say
Ask Sparkian

Is Qdrant right for your project?

Describe what you need and AI will check the fit against this review.

Or try:

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.
Code we ran
# 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
OutputPassed1.19.2 · 100,000 vectors · same top 5 as an exact search
Request: client.query_points("dbpedia", query=<embedding of the held-out "Apache Tomcat" article>, limit=5, with_payload=True), scores rounded
[
  {"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"}}
]
Points and their payloads in the Qdrant 1.19.2 dashboard

Points and their payloads in the Qdrant 1.19.2 dashboard

Points and their payloads in the Qdrant 1.19.2 dashboard
The dbpedia collection with 100,000 points in the Qdrant dashboard

The dbpedia collection with 100,000 points in the Qdrant dashboard

The dbpedia collection with 100,000 points in the Qdrant dashboard

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.