根据实测成本维护分区
滚动窗口积累足够的命中记录后,系统在设定的维护时机,综合扫描延迟、分区大小和命中情况作出调整:拆分成本高的分区,删除部分分区并重新分配其中的数据,再优化受影响的邻近分区,无需重建整个索引。
根据查询需要,灵活调整扫描量的向量索引
查询难度不同,负载也在变化,扫描深度和分区结构能否随之调整?

固定 nprobe 为每个查询探测相同数量的分区,未区分查询难度;持续的数据插入、删除和负载变化,也会让 IVF 分区逐渐失衡。这个研究系统以质心路由和可选的额外层级为基础,结合每个查询的召回率目标、滚动负载观测和实测扫描成本表,在线调整搜索范围,并在明确的维护检查点调整分区结构。
滚动窗口积累足够的命中记录后,系统在设定的维护时机,综合扫描延迟、分区大小和命中情况作出调整:拆分成本高的分区,删除部分分区并重新分配其中的数据,再优化受影响的邻近分区,无需重建整个索引。
扫描过程中,系统根据当前第 k 近邻半径的变化,实时更新召回率估计;估计值达到设定目标后,便停止扫描。这样,简单查询和困难查询就不必采用相同的扫描深度。
C++ 搜索实现支持批量扫描和多线程,也可启用 AVX-512 与 NUMA 局部性优化。索引结构和距离计算放在一起调优,让两者相互配合。
结合界面截图和架构图,看看系统是如何实现的。

