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?
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
01Centroid routing
02Ordered candidate partitions
03Recall-estimate updates
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
Implementation and visuals
Project UI, architecture, and system visualizations used to make the work inspectable.
Easy and difficult queries scan different numbers of IVF partitions toward the same estimated-recall target
A filled observation window and scan-cost profile feed explicit split, reassign, and local-refinement decisions