Table of Contents
Fetching ...

Curator: Efficient Vector Search with Low-Selectivity Filters

Yicheng Jin, Yongji Wu, Wenjun Hu, Bruce M. Maggs, Jun Yang, Xiao Zhang, Danyang Zhuo

TL;DR

Curator tackles the challenge of low-selectivity filtered ANNS by introducing a dual-index architecture that pairs a shared base partitioning tree with adaptive per-label indexes embedded inside it. It enables efficient complex predicate support through temporary per-predicate indexes while maintaining low memory and construction overhead, and it complements graph-based indexes to sustain performance where connectivity breaks down. The approach offers adaptive hierarchical partitioning, incremental update support, and efficient integration with graph indexes, achieving substantial latency improvements (up to 20.9x in some scenarios) with modest overhead. This work demonstrates that a partition-based, label-adaptive index can deliver robust, scalable, and practical filtered ANNS for large-scale systems.

Abstract

Embedding-based dense retrieval has become the cornerstone of many critical applications, where approximate nearest neighbor search (ANNS) queries are often combined with filters on labels such as dates and price ranges. Graph-based indexes achieve state-of-the-art performance on unfiltered ANNS but encounter connectivity breakdown on low-selectivity filtered queries, where qualifying vectors become sparse and the graph structure among them fragments. Recent research proposes specialized graph indexes that address this issue by expanding graph degree, which incurs prohibitively high construction costs. Given these inherent limitations of graph-based methods, we argue for a dual-index architecture and present Curator, a partition-based index that complements existing graph-based approaches for low-selectivity filtered ANNS. Curator builds specialized indexes for different labels within a shared clustering tree, where each index adapts to the distribution of its qualifying vectors to ensure efficient search while sharing structure to minimize memory overhead. The system also supports incremental updates and handles arbitrary complex predicates beyond single-label filters by efficiently constructing temporary indexes on the fly. Our evaluation demonstrates that integrating Curator with state-of-the-art graph indexes reduces low-selectivity query latency by up to 20.9x compared to pre-filtering fallback, while increasing construction time and memory footprint by only 5.5% and 4.3%, respectively.

Curator: Efficient Vector Search with Low-Selectivity Filters

TL;DR

Curator tackles the challenge of low-selectivity filtered ANNS by introducing a dual-index architecture that pairs a shared base partitioning tree with adaptive per-label indexes embedded inside it. It enables efficient complex predicate support through temporary per-predicate indexes while maintaining low memory and construction overhead, and it complements graph-based indexes to sustain performance where connectivity breaks down. The approach offers adaptive hierarchical partitioning, incremental update support, and efficient integration with graph indexes, achieving substantial latency improvements (up to 20.9x in some scenarios) with modest overhead. This work demonstrates that a partition-based, label-adaptive index can deliver robust, scalable, and practical filtered ANNS for large-scale systems.

Abstract

Embedding-based dense retrieval has become the cornerstone of many critical applications, where approximate nearest neighbor search (ANNS) queries are often combined with filters on labels such as dates and price ranges. Graph-based indexes achieve state-of-the-art performance on unfiltered ANNS but encounter connectivity breakdown on low-selectivity filtered queries, where qualifying vectors become sparse and the graph structure among them fragments. Recent research proposes specialized graph indexes that address this issue by expanding graph degree, which incurs prohibitively high construction costs. Given these inherent limitations of graph-based methods, we argue for a dual-index architecture and present Curator, a partition-based index that complements existing graph-based approaches for low-selectivity filtered ANNS. Curator builds specialized indexes for different labels within a shared clustering tree, where each index adapts to the distribution of its qualifying vectors to ensure efficient search while sharing structure to minimize memory overhead. The system also supports incremental updates and handles arbitrary complex predicates beyond single-label filters by efficiently constructing temporary indexes on the fly. Our evaluation demonstrates that integrating Curator with state-of-the-art graph indexes reduces low-selectivity query latency by up to 20.9x compared to pre-filtering fallback, while increasing construction time and memory footprint by only 5.5% and 4.3%, respectively.
Paper Structure (25 sections, 1 equation, 15 figures, 2 tables, 2 algorithms)

This paper contains 25 sections, 1 equation, 15 figures, 2 tables, 2 algorithms.

Figures (15)

  • Figure 1: Comparison of different approaches to filtered ANNS. Blue points represent qualifying vectors, gray points represent non-qualifying vectors. (a) Vanilla graph-based approach suffers from connectivity breakdown at low selectivity. (b) Specialized graph-based approach requires increasing graph degree significantly to maintain connectivity. (c) Vanilla partition-based approach suffers from granularity mismatch at low selectivity. (d) Curator adopts a hierarchical partitioning approach that buffers qualifying vectors in sparse regions at higher levels of the tree, adapting clustering granularity to filter selectivity.
  • Figure 2: Performance comparison between Curator and the state-of-the-art solution (ACORN + pre-filtering) across varied selectivity levels in the low-selectivity regime. ACORN-$\gamma$ ($\gamma = 10, 40$) denotes ACORN with different graph degrees, with larger $\gamma$ indicating denser index graphs. Curator closes the performance gap of ACORN at low selectivity with minimal overhead. Detailed experiment setup is provided in \ref{['sec:eval:sys_perf']}.
  • Figure 3: Overview of Curator. The base index represents the finest-grained partitioning on unfiltered vector distribution, while the per-label indexes are embedded within the base index, adapting to the unique distribution of their respective labels. Per-label indexes are compactly encoded using buffers and Bloom filters.
  • Figure 4: Single-label search on Curator. Highlighted clusters and tree nodes are visited by the search algorithm.
  • Figure 5: Temporary index construction for complex predicates. The sorted qualified vector IDs are recursively partitioned following the base index structure, enabling efficient construction of a temporary index.
  • ...and 10 more figures