CyborgDB 0.18: Filtered Search, Hybrid Search, and Compression, Encrypted
CyborgDB 0.18 ships rotation-based compression, disk-first storage, cost-based query planning, and BM25 hybrid search, with vectors, metadata, and text encrypted during execution, in a smaller footprint than 0.17.

Vector database workloads have shifted from simple semantic search to heavy filtering and hybrid queries. CyborgDB 0.18 ships the four architectural patterns required to handle this at scale—rotation-based compression, disk-first storage, cost-based query planning, and BM25—while keeping vectors, metadata, and text encrypted during query execution.
By redesigning our storage and ingest pipelines around encrypted operations, this release delivers the search features production workloads expect, with strong data protection, while reducing memory footprint and dependency surface.
Cost-Based Planning for Encrypted Filters
Filtered nearest-neighbor search forces a tradeoff. Filter first and a selective filter leaves the index with too few candidates. Search first and the filter discards most of the results. 0.18 introduces a cost-based query planner that chooses the path per query. It estimates filter cardinality from the encrypted metadata index and routes each query to one of three execution paths:
- Sparse filters: Resolves the exact matching ID set and scores it directly, returning exact results.
- Mid-selectivity filters: Resolves matching IDs and their coarse centroids, then scores the closest occupied centroids first.
- Dense filters: Runs standard IVF search and applies the filter to the survivors.
The filter language includes standard operators ($eq, $in, numeric ranges, dot-paths) and uses RE2 for $regex, so matching time stays linear in the input and query latency stays predictable for user-supplied patterns.
Deterministic BM25 Hybrid Search
Embeddings fail on exact string matches like SKUs, error codes, and IPs. 0.18 adds BM25 keyword search directly over encrypted text, exposing standalone query_metadata and fused query (hybrid) methods.
Keyword search depends on ingest and query producing identical terms. 0.18 ships a single deterministic analyzer (lowercase, tokenize, stopwords, Porter2 stemming) that preserves tokens like ipv6 or 192.168.0.1. The analyzer version is persisted in the index configuration, so a change to the pipeline fails fast on open rather than quietly degrading recall in production.
TurboQuant Compression
Encryption adds bytes per vector. 0.18 introduces TurboQuant as a storage_precision option to offset it. This rotation-based quantization spreads information evenly across dimensions, so simple rounding works without training on your dataset.
- Supported widths:
tq12,tq8,tq6, andtq4(alongsidefloat16). - Impact: 1M 768-dimensional float32 vectors take ~3.07 GB. At
tq8, this drops to ~0.77 GB, a 4× reduction. - Pipeline: Vectors are compressed at upsert and expanded during the final rerank stage, so ranking runs on full-width vectors.
Purpose-Built Storage and Lower Memory
0.18 moves to Appendix, our in-house storage engine, built for the access patterns of an encrypted IVF index. Appendix reads postings and vector blocks in predictable shapes, and it replaces a general-purpose key-value store, which reduces the dependency surface. All deployments now run on the same disk-backed, cached configuration, so what you test is what runs in production.
Memory use on the ingest and training paths was also profiled and reduced. On the wiki-10M benchmark, peak memory dropped from 4.76 GB to 3.93 GB with recall unchanged at 0.985, and upsert throughput rose 46%. A memory regression gate now runs on every change.
DX: Dropping PyTorch for a 21× Smaller Install
Automatic embedding generation moves from sentence-transformers to cyborgdb-embed. By dropping torch as a dependency, embedding generation is now 2× faster, uses less memory, and can be invoked from any cyborgdb-core entry point.
| Platform | Download before | Download now | On disk before | On disk now |
|---|---|---|---|---|
| Linux x86_64 | 268 MB | 14 MB | 964 MB | 41 MB |
| macOS arm64 | 151 MB | 10.5 MB | 585 MB | 28 MB |
Other DX improvements include typed query results (TypedDict) for accurate autocomplete and strict dimension validation at CreateIndex.
CyborgDB 0.18.0 is available now. The changelog and documentation cover the new metadata filters, full-text fields, and storage_precision configurations in detail.
CYBORGStarting Our Open Source Journey
We're open-sourcing CyborgDB, starting with our Python, TypeScript, JavaScript, and Go client SDKs today — with the service layer to follow later this year.
CYBORGIntroducing CyborgDB
Meet CyborgDB — the first Confidential Vector Database that keeps embeddings end-to-end encrypted at rest, in transit, and even during inference.
CYBORGHello Stealth, Goodbye Beta
After 12 months and 40,000 beta testers, Stealth is generally available — bringing zero-knowledge end-to-end encrypted cloud storage, team files, and link sharing.