Skip to project
Qingping Champ
All projects
ANN IndexResearch2025-2026

Adaptive Index

A vector index that spends work where each query needs it

Can scan depth and partition structure respond to each query and a changing workload?

A query routed through IVF centroids and candidate partitions until its online recall estimate reaches the target

Project context

Fixed nprobe treats every query as equally difficult, while inserts, deletes, and workload drift make IVF partitions increasingly uneven. This research system combines centroid routing with optional added hierarchy, per-query recall targets, rolling workload observations, and a profiled scan-cost table so search scope can adapt online and partition structure can evolve at explicit maintenance checkpoints.

SYSTEM PATH

Route, estimate, then stop

  1. 01Centroid routing
  2. 02Ordered candidate partitions
  3. 03Recall-estimate updates
  4. 04Top-k IDs and distances

Key decisions

Maintenance follows observed cost

After the rolling hit window fills, an explicit maintenance checkpoint combines scan-latency profiles, partition size, and observed hits. It can split a costly partition, delete and reassign another, then refine only the affected neighborhood without a full rebuild.

Recall targets replace a fixed scan budget

Adaptive partition scanning recomputes an online recall estimate as the current kth-neighbor radius changes, then stops when that estimate reaches the declared target. Easy and difficult queries no longer inherit the same scan depth.

Index structure and compute co-design

The C++ search path combines batched and multithreaded scanning with optional AVX-512 and NUMA locality. Structural decisions and the distance-compute path are tuned as one system instead of two separate layers.

DESIGN CONTRACT

Principles and honest boundaries

  • Observe workload change
  • Stop on an estimated recall target
  • Make maintenance decisions online
  • Design index and compute together
Next project

Anera