# QQL — Qdrant Query Language

A SQL-like query language and command-line shell for the Qdrant vector database, letting a developer write insert, search and filter statements instead of calling the Qdrant Python client directly.

QQL is a translation layer between a SQL-like language and the Qdrant Python client. Statements such as INSERT, SELECT, SEARCH, SCROLL, RECOMMEND, UPDATE, DELETE and CREATE COLLECTION are tokenized by a lexer, parsed into a typed AST, and mapped by an executor onto the corresponding Qdrant client call.

It supports hybrid dense and sparse vector search, with a dense vector generated automatically through Fastembed on insert and, in hybrid mode, a sparse BM25 vector generated alongside it; searches merge the two retrieval methods using reciprocal rank fusion by default, or a distribution-based score fusion method. Other supported features include grouped search, cross-encoder reranking, scalar, turbo, binary and product quantization, SQL-style WHERE filters, and collection dump and restore.

Beyond the interactive shell, QQL exposes a programmatic Python API for use inside an application without the CLI. It requires Python 3.12 or newer and a running Qdrant instance, installs from PyPI, and is MIT licensed.

Website: https://pavanjava.github.io/qql
