Skip to content

Backend compatibility

Most QQL statements are transport-neutral. Differences come from backend capability, not a separate language dialect.

The REST and gRPC transports target Qdrant 1.18.x (the bundled OpenAPI schema and protobuf definitions are pinned to v1.18.x). Older servers may reject plan fields introduced in that generation; the edge backend is an in-process engine and does not depend on a server version.

CapabilityRESTgRPCEdge
Parse, validate, inject, explainyesyesyes
Dense nearest searchyesyesyes
Sparse and hybrid retrievalyesyesyes
Payload filtersyesyesyes
MMR, recommend, formula, order-by, sample, context/discoveryesyesyes
Quantization rescore / oversampling (PARAMS quantization = {...})yesyesyes
Cross-encoder reranking (CROSS RERANK)yesyesyes (client-side)
Exact count (COUNT ... WITH (exact = true))yesyesyes
UPSERT with auto-embeddingyesyesyes (local embedder)
Query/update batchingyesyesfan-out
Grouped searchyesyesno
Custom SHARD routingyesyesno
Shard-key administrationyesyesno
ALTER COLLECTIONyesyesno
Collection PARAMS (replication, sharding)yesyesno
Point-ID query inputsyesyesno
ACORN search parameteryesyesno
Cluster consistency/timeout fieldsyesyesno

Notes:

  • Batching on edge fans out into one operation per request; there is no native batch endpoint.
  • Cross-rerank is always executed client-side: the runtime fetches the prefetched candidates, scores (query, document text) pairs with a pair-scoring embedder, and reorders. It is not a Qdrant search variant on any backend.
  • Point-ID query inputs (QUERY POINT, RECOMMEND POSITIVE (id)) need materialized vectors; offline, use TEXT or VECTOR inputs instead.
  • Timeouts and consistency are request-level REST/gRPC fields and are rejected offline with QQL-EDGE-UNSUPPORTED-TIMEOUT and QQL-EDGE-UNSUPPORTED-CONSISTENCY.

The exact edge surface evolves with qql-edge; treat a plan or execution capability error as authoritative.

QQLRemote search controlsTry in playground
QUERY TEXT 'search' FROM docs
USING dense
PARAMS (
timeout = 30,
consistency = majority,
hnsw_ef = 64,
acorn = true,
max_selectivity = 0.4
)
LIMIT 10;

timeout and consistency map to request-level REST/gRPC fields. HNSW and ACORN options are search-body parameters.