近似最近邻(ANN)搜索

共 17 题
#

1. 混合搜索(Hybrid Search)中向量相似度 + BM25 关键词 + 元数据过滤如何融合?RRF(Reciprocal Rank Fusion)的排序合并策略?

A RRF 直接对向量分数与 BM25 分数做加权求和
B RRF 只考察各结果在子列表中的排名位次,用 `1/(k+r)` 累加融合 ✓ 正确答案
C RRF 需要训练大量权重参数才能工作
D RRF 无法处理元数据过滤,必须全部交给 ANN 完成
#

2. 何时不需要 ANN 索引,数据量小于万级时暴力搜索为何更快,万级、百万级与亿级数据的索引选型阶梯?

A 数据量小于万级时暴力搜索因为构建开销与召回损失而更慢
B 万级以内的数据用 HNSW 一定比暴力扫描快
C 万级数据暴力扫描快,是因为其耗时线性且无构建开销、无召回损失 ✓ 正确答案
D 数据量越大越应该用 Flat 暴力扫描
#

3. HNSW(Hierarchical Navigable Small World)的核心原理中多层跳表结构如何实现 O(log n) 近似搜索?构建参数 M 和 efConstruction 如何影响召回率与构建速度?

A M 越大,构图越稀疏、召回率越低
B efConstruction 只影响查询延迟,不影响构建
C efConstruction 越大,构图越精确但构建时间越长 ✓ 正确答案
D 高层包含所有点,底层只含少数点
#

4. LSH(Locality-Sensitive Hashing)的原理中为什么随机投影能保持余弦相似度的单调性?与精确 KNN 的精度-速度权衡?

A 投影维度越多,桶越大、查询越慢
B 随机投影哈希与余弦相似度完全无关
C LSH 是精确算法,无召回损失
D 落入同一桶的概率与余弦相似度单调对应 ✓ 正确答案
#

5. 高维诅咒(Curse of Dimensionality)中为什么维度 > 1000 时传统空间索引失效?降维(PCA/UMAP)对搜索质量的影响?

A 维度越高,KD 树剪枝越高效
B 高维下点间距离分布趋于集中,树索引剪枝失效 ✓ 正确答案
C 降维一定不损失任何检索信息
D 高维下最近邻变得更加有区分度
#

6. HNSW 的层数分配与搜索过程中为什么从高层粗粒度到低层细粒度能加速检索?

A 所有节点层数相同,均为第 0 层
B 层数越多搜索越慢,与跳表无关
C 先搜索低层再搜索高层
D 高层节点少、连接跨度大,用于粗粒度定位,低层用于精修 ✓ 正确答案
#

7. HNSW 的构图与搜索中多层图、入口点与 greedy 搜索的召回/延迟权衡?

A ef 越大,搜索的候选扩展越多、召回越高但延迟越高 ✓ 正确答案
B 入口点从最底层开始,逐步上升到高层
C M 只影响查询延迟,不影响构图与内存
D 构图时每个节点可以无限建边,无需度数限制
#

8. 向量搜索的一致性模型中写入后多久可被搜索到(real-time index vs batch index)?

A 批量索引写入后立即可搜索
B 实时索引写入即可见,但频繁增量插入可能降低图质量 ✓ 正确答案
C 实时索引写入后要等分钟级才可见
D 向量索引通常提供数据库强一致保证
#

9. IVF(Inverted File Index)的聚类分桶原理中 nlist 和 nprobe 如何权衡搜索精度与速度?与 HNSW 的适用场景差异?

A nlist 越大,查询时算中心距离的开销越小
B nprobe 越大,查询越快
C nprobe 越大,召回越高但查询越慢 ✓ 正确答案
D nprobe 只影响构建,不影响查询
#

10. 向量索引的内存与精度权衡中 FP32 vs FP16 vs INT8 量化对召回率的影响?Product Quantization(PQ)的码本训练与距离近似?

A PQ 把向量分块后对每块用码本中心 id 表示,距离用查表累加近似 ✓ 正确答案
B PQ 需要解压原向量才能计算距离
C INT8 量化比 FP32 精度更高
D PQ 的码本对每个向量单独训练
#

11. 向量数据库(Milvus/Qdrant/Weaviate/pgvector)的索引选型中什么数据规模和查询模式下选 HNSW vs IVF vs Flat?

A 数据量越小越应该用 HNSW 以降低延迟
B Flat 索引适合亿级以上的海量数据
C IVF-PQ 比 HNSW 内存占用更大
D 数据量百万级且延迟要求高、内存充足时优先选 HNSW ✓ 正确答案
#

12. 向量检索的元数据过滤中 pre-filter 与 post-filter 的召回与延迟差异,为什么过滤会破坏 HNSW 的邻居质量?

A 过滤条件不会影响 HNSW 的图路径搜索
B pre-filter 延迟更低,索引复用性更好
C post-filter 先检索后过滤,可能漏掉满足条件的最近邻,召回下降 ✓ 正确答案
D post-filter 结果天然满足过滤条件,无漏筛
#

13. ScaNN(Google)的各向异性量化中为什么在量化时考虑查询方向能提升内积搜索的精度?

A 它只最小化向量的重建误差,不关心查询方向
B 它把量化误差尽量导向与查询方向正交的分量,以提升内积排序精度 ✓ 正确答案
C 它比传统 PQ 的内存占用更大
D 它无法用于内积相似度搜索
#

14. 向量索引的动态更新中 HNSW 的增量插入与删除(tombstone)策略?IVF 的聚类中心漂移如何处理?

A HNSW 删除直接摘除节点即可,不影响图其他部分
B IVF 聚类中心漂移无需任何处理
C HNSW 常以 tombstone 标记删除,保留结构、定期清理 ✓ 正确答案
D HNSW 无法在线增量插入
#

15. DiskANN 的磁盘索引设计中如何将十亿级向量索引放在 SSD 上并保持毫秒级延迟?

A 它把所有向量都常驻内存,所以快
B 它把图结构放内存、压缩向量放 SSD,用块顺序读与预取保持毫秒级延迟 ✓ 正确答案
C 它取消量化,只存原始向量在磁盘
D 它只能用于小规模数据
#

16. ANN 的召回率/延迟/内存三角中 IVF-PQ 与 HNSW 的适用场景?

A HNSW 内存占用比 IVF-PQ 小
B IVF-PQ 延迟最低但内存最高
C 三者可以同时最优
D HNSW 以高内存换取高召回与低延迟 ✓ 正确答案
#

17. IVF-PQ 中倒排 + 乘积量化的压缩原理与 HNSW 的对比?

A HNSW 内存占用比 IVF-PQ 小
B IVF-PQ 内存占用比 HNSW 小,但召回率因量化近似而略低 ✓ 正确答案
C IVF-PQ 查询延迟一定比 HNSW 低
D IVF-PQ 无法处理海量数据