QQL gives a product team one query surface for search, retrieval pipelines, point mutations, and collection management. The same source works in a Rust service, Python worker, Node.js API, browser tool, or the qql CLI.
Readable operations
Keep the intent, filter, vector choice, and result shape together instead of assembling transport-specific request bodies across application layers.
Inspectable before execution
Parse, explain, and compile a statement locally. The playground exposes the same AST and Qdrant route your application will use.
Portable integration
Adopt QQL in the host language that already owns your product workflow rather than running a separate query service just to translate syntax.
Policy at the source
Inject a trusted predicate into the parsed AST before planning. Tenant filtering is part of the operation, not a post-processing step.
Where QQL fits
Section titled “Where QQL fits”Choose QQL when the product benefits from reviewable query source, consistent retrieval behavior across services, or policy enforcement before Qdrant sees a request. Use a native Qdrant SDK directly when your application already owns a stable typed request builder and portability is not useful.
QUERY TEXT 'incident response'FROM runbooksUSING HYBRID DENSE dense SPARSE sparse FUSION RRFWHERE service = 'payments'LIMIT 8;Two boundaries to remember
Section titled “Two boundaries to remember”Continue with installation or run the quickstart.