QQL (Qdrant Query Language) is a compact operational interface for Qdrant built in Go.
It gives developers, CI pipelines, and AI agents one deterministic command surface for:
- Collection management — CREATE, ALTER, DROP, SHOW, payload indexes
- Vector search — dense, sparse, hybrid, multivector (ColBERT/ColPali)
- Multi-stage retrieval — CTE prefetch DAGs with per-stage filters and thresholds
- Score boosting — mathematical expression algebra executed inside Qdrant
- Data operations — INSERT, SELECT, SCROLL, UPDATE, DELETE
- Automation — structured JSON output, script execution, collection dumps
- REST migration — convert Qdrant REST API JSON to QQL
When to use QQL
Section titled “When to use QQL”| Situation | Tool |
|---|---|
| Building application logic | Qdrant SDK (Go, Python, TypeScript) |
| Repeatable CLI commands | qql-go CLI |
| CI pipelines, smoke tests | qql-go exec --quiet --json |
| AI agent retrieval operations | qql-go skill or gateway |
| Embedding QQL in a Go service | pkg/qql Go library |
| Multi-language / polyglot setup | QQL Gateway (Connect RPC) |
| Migrating from Qdrant REST API | qql-go convert |
Components
Section titled “Components”CLI
qql-go A single statically-compiled binary that handles all operations. Stores connection config in ~/.qql/config.json. Supports cloud, local, and external inference modes.
Go SDK
pkg/qql A public Go library for embedding QQL execution in your own services. Accepts the QdrantClient interface so you can mock it for tests.
Gateway
qql-go serve A Connect RPC gateway (gRPC + gRPC-Web + HTTP/1.1) that sits in front of Qdrant. Adds JWT authentication, YAML policy enforcement, AST-level tenant filter injection, rate limiting, query templates, and structured audit logging.
Next Steps
Section titled “Next Steps”- Installation — install the binary
- Quickstart — connect, create, insert, query in 60 seconds
- Syntax Reference — complete QQL statement reference