Qdrant is announcing the release of Qdrant 1.19.0, offering a new TurboQuant storage format that cuts vector storage.
In version 1.19, Qdrant is introducing the new Turbo4 datatype that stores vectors using 4-bit TurboQuant compression as the only representation, with no full-precision copy kept.
This reduces data reads and writes per operation, improving throughput. The same compression applies to multi-vector collections used for ColBERT-style late interaction search, where the benefit is proportionally larger.
Other features and capabilities include:
TurboQuant Datatype: A new storage format that compresses vectors to four bits without keeping their original full-precision representation, reducing storage by up to nine times compared to TurboQuant quantization.
Memory Tiers: A single memory parameter unifies per-component memory tier placement, with three tiers: pinned, cached, and cold.
Per-Tenant IDF Statistics: Narrow the IDF corpus to a specific tenant so term rarity reflects that tenant’s vocabulary rather than the whole dataset, improving BM25 scoring in multi-tenant deployments.
Filtering Enhancements: Prefix matching on keyword fields and a new slice filter condition for partitioning a collection’s points into deterministic, disjoint subsets.
Web UI Enhancements: Live resharding progress, an overhauled Collection Visualizer that scales to tens of thousands of points, and payload index management.
A Qdrant collection stores data across several components, each with its own memory footprint: vectors, the HNSW index, quantized vectors, the sparse index, payloads, and payload indexes. Until now, each had its own way to configure whether that data is loaded into RAM or served from disk: on_disk, always_ram, and on_disk_payload. This release replaces these parameters with a single, unified memory parameter. It works the same way on every component, giving you one consistent way to configure the memory tier for any part of a collection.
There are three memory tiers: pinned loads the component entirely into memory, where it’s never evicted (for components that support it); cached keeps data on disk and pre-populates the OS disk cache at startup for fast first reads while remaining evictable under memory pressure; and cold loads it lazily from disk on first access. The existing per-component flags remain functional but are deprecated.
Beyond cleaner configuration, version 1.19 also adds new capabilities: HNSW graph links can now be pinned in memory, sparse indexes have gained a new cached tier, and quantized vectors can now be pinned, cached, or cold independently of the original vectors’ placement.
This release adds two new filtering capabilities to Qdrant: prefix matching on keyword fields, and a slice filter condition for partitioning a collection’s points into deterministic subsets.
Keyword indexes store values verbatim for exact matching, which is the right choice for identifiers like URLs, file paths, and SKUs. Filtering by prefix over these values, like “find all entries where the URL starts with https://qdrant.”, wasn’t possible without either a full payload scan or switching to a text index, which tokenizes values and breaks exact matching.
This release adds support for prefix matching to keyword indexes. Enable it with "prefix": true in the keyword index configuration, then use the prefix condition in your filter. Prefix queries are served from a dedicated index structure, making them as fast as any other indexed filter.
For more information about this news, visit https://qdrant.tech.