Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

JAG: Joint Attribute Graphs for Filtered Nearest Neighbor Search

About

Despite filtered nearest neighbor search being a fundamental task in modern vector search systems, the performance of existing algorithms is highly sensitive to query selectivity and filter type. In particular, existing solutions excel either at specific filter categories (e.g., label equality) or within narrow selectivity bands (e.g., pre-filtering for low selectivity) and are therefore a poor fit for practical deployments that demand generalization to new filter types and unknown query selectivities. In this paper, we propose JAG (Joint Attribute Graphs), a graph-based algorithm designed to deliver robust performance across the entire selectivity spectrum and support diverse filter types. Our key innovation is the introduction of attribute and filter distances, which transform binary filter constraints into continuous navigational guidance. By constructing a proximity graph that jointly optimizes for both vector similarity and attribute proximity, JAG prevents navigational dead-ends and allows JAG to consistently outperform prior graph-based filtered nearest neighbor search methods. Our experimental results across five datasets and four filter types (Label, Range, Subset, Boolean) demonstrate that JAG significantly outperforms existing state-of-the-art baselines in both throughput and recall robustness.

Haike Xu, Guy Blelloch, Laxman Dhulipala, Lars Gottesb\"uren, Rajesh Jayaram, Jakub {\L}\k{a}cki• 2026

Related benchmarks

TaskDatasetResultRank
Filtered Nearest Neighbor SearchMSTuring 10M subset 1.0 (train)
Indexing Time (s)3.76e+3
12
Filtered Nearest Neighbor SearchARXIV-2M-label 1.0 (train)
Indexing Time (s)3.17e+3
9
Filtered Nearest Neighbor SearchSIFT-1M-label 1.0 (train)
Indexing Time (s)100
9
Filtered Nearest Neighbor SearchLAION 25M 1.0 (train)
Indexing Time (s)8.69e+3
8
Filtered Nearest Neighbor SearchLAION 1M 1.0 (train)
Indexing Time (s)261
8
Filtered Nearest Neighbor SearchLAION 5M subset 1.0 (train)
Indexing Time (s)1.54e+3
8
Filtered Nearest Neighbor SearchYFCC-10M subset 1.0 (train)
Indexing Time (s)7.90e+3
8
Filtered Nearest Neighbor SearchMSTuring 10M-range 1.0 (train)
Indexing Time (s)3.35e+3
6
Filtered Nearest Neighbor SearchARXIV-2M range 1.0 (train)
Indexing time (s)5.98e+3
6
Showing 9 of 9 rows

Other info

Follow for update