Day 10 / Daily GitHub Discovery / Databases

Qdrant

Search vector embeddings alongside metadata for semantic retrieval and recommendations.

~34,900 stars · checked Sep 28, 2026
RustgRPCRESTDockerHNSWSIMD
Visit GitHub (opens in a new tab)

What it does

Qdrant is a vector database written in Rust. It stores embeddings and JSON payloads, with indexing, filtering, and support for dense, sparse, and multivector retrieval.

Why it’s interesting

Combining similarity search with payload constraints is essential for useful results. Its indexing and quantization code illustrates memory, recall, and latency tradeoffs without assuming one configuration fits every dataset.

Real-world use case

Build a documentation RAG service that retrieves relevant passages filtered by product version and tenant. Enforce authorization in your application as well as query filters.

What I can learn

  • 01

    HNSW indexing

    navigate approximate nearest-neighbor graphs.

  • 02

    Filtered search

    combine metadata constraints with vector retrieval.

  • 03

    Quantization

    trade vector precision for reduced memory usage.

One thing to explore

HNSW graph construction and search

Follow the implementation and connect it to the learning points above.

Explore the source (opens in a new tab)

10-Minute Challenge

Create a tiny vector collection

Before you start: Docker; the disposable container does not persist data.

  1. Start a local Qdrant container and open http://localhost:6333/dashboard.
  2. Create the four-dimensional demo collection below.
  3. Use the dashboard console to insert two points with four-number vectors and query their nearest neighbors.
Terminal
docker run --rm -p 127.0.0.1:6333:6333 qdrant/qdrant
Terminal
curl -X PUT http://localhost:6333/collections/demo \  -H "Content-Type: application/json" \  -d '{"vectors":{"size":4,"distance":"Cosine"}}'

Keep exploring

All repositories →