ruvector 2026: Adaptive Filtered-ANN — Selectivity-Driven Strategy Switching for High-Performance Predicate Vector Search in Rust
150-char summary: ruvector adds a selectivity-aware filtered ANN planner in Rust: 94× QPS at 1% selectivity, recall@10=1.0, O(1) routing via frequency histogram.
Filtered vector search — "find the 10 nearest vectors to this query where category == sports" — is the single most common production workload in vector databases. It's also the hardest to get right.
The problem: the optimal execution strategy is highly sensitive to predicate selectivity (the fraction of corpus vectors that satisfy the filter). Scan everything and filter at the end (post-filter) is fast at high selectivity but collapses at 1%. Pre-filter the candidates and do exact search is fast at 1% but wastes compute at 50%. No single strategy wins.