Vector names answer "which vector?" Vector roles answer "what input shape and embedding path?" QQL keeps those decisions separate.
| Form | Role |
|---|---|
USING semantic | Resolve role from collection schema |
USING semantic AS DENSE | Explicit dense vector |
USING lexical AS SPARSE | Explicit sparse vector |
USING colbert AS MULTI | Explicit dense multivector |
QUERY 'late interaction' FROM papers USING colbert AS MULTI LIMIT 10;Schema with MULTIVECTOR
Section titled “Schema with MULTIVECTOR”Token-level multivector storage uses MULTIVECTOR with a comparator. The example below keeps a dense vector for candidate generation and a 128 dimension multivector for late interaction.
CREATE COLLECTION kb_articles ( dense VECTOR(384, COSINE), colbert VECTOR(128, COSINE) WITH HNSW (m = 0) WITH MULTIVECTOR (comparator = 'max_sim'));Direct multivector search
Section titled “Direct multivector search”Search a multivector space directly with USING ... AS MULTI.
QUERY 'late interaction vector retrieval'FROM kb_articlesUSING colbert AS MULTIWHERE category = 'search'LIMIT 10;Two-stage dense retrieval plus rerank
Section titled “Two-stage dense retrieval plus rerank”At scale, retrieve candidates with dense search, then rerank with late-interaction MaxSim over the prefetched set.
WITH candidates AS (QUERY 'late interaction vector retrieval' USING dense LIMIT 100)QUERY RERANK TEXT 'late interaction vector retrieval' MODEL 'colbert-v2'FROM kb_articlesUSING colbert AS MULTIPREFETCH (candidates)LIMIT 10;Cross-encoder reranking
Section titled “Cross-encoder reranking”WITH candidates AS (QUERY 'vector compression' USING dense LIMIT 50)QUERY CROSS RERANK TEXT 'vector compression' MODEL 'bge-reranker-base' ON FIELD abstractFROM papersPREFETCH (candidates)LIMIT 10;Cross reranking reads candidate text from the payload, calls the host pair scoring capability, and reorders hits client-side. It does not use a Qdrant multivector target.
Architecture
Section titled “Architecture”| Architecture | Retrieval latency | Storage footprint | Interaction depth | Best used for |
|---|---|---|---|---|
| Single dense vector | 1-5 ms | Low (1 vector per doc) | Coarse chunk level | First-stage candidate generation |
| ColBERT late interaction | 10-25 ms | Medium (N vectors per doc) | Fine-grained token MaxSim | High-precision candidate reranking |
| Cross-encoder model | 50-200 ms | None (re-evaluates text) | Full cross-attention | Final top-10 scoring and reranking |