Qdrant Primer
A practical walkthrough for standing up Qdrant as your vector database backend. Covers collection design, payload indexing, and the exact gRPC calls Meridian uses under the hood.
Why Qdrant
Qdrant is a Rust-native vector database built for high-throughput approximate nearest neighbor search. It exposes a gRPC API with first-class payload filtering, quantization, and on-disk storage — no external dependencies beyond a single binary.
Meridian uses Qdrant to store embedding vectors for every indexed document, enabling sub-50ms semantic search across millions of records with real-time upserts.
Collections
A collection is a named set of points (vectors + payloads). Each collection defines a vector configuration — dimension count and distance metric. Meridian defaults to 1536-d vectors with Cosine distance, matching OpenAI's text-embedding-ada-002 output.
{
"vectors": {
"size": 1536,
"distance": "Cosine"
}
}Payload Indexing
Every point carries a JSON payload. Qdrant lets you create secondary indexes on payload fields for filtered search. Meridian indexes workspace_id,doc_type, andingested_at.
Search Flow
- Client sends query text to Meridian API.
- API calls OpenAI embeddings endpoint, receives 1536-d vector.
- Vector is sent to Qdrant via gRPC
SearchPoints. - Qdrant returns top-k points with payloads and scores.
- API hydrates full document metadata and returns to client.
Next Steps
Ready to wire it up? Head to the Meridian + Qdrant integration recipe for the full gRPC client setup, retry logic, and collection bootstrap script.