是什么:向量检索要回答「库里几百万个向量中,哪些和查询向量最相似」。精确检索要全库比对,太慢;HNSW(Hierarchical Navigable Small World,分层可导航小世界图)是当前最主流的近似最近邻(ANN)算法,由 Malkov 与 Yashunin 提出(论文 2016 年公开、后刊于 TPAMI)。
机制
把所有向量组织成一张「小世界图」——每个节点连着若干近邻,查询时从某个入口出发、每步贪心地走向离目标更近的邻接节点。它的关键设计是分层:构建多层图,顶层稀疏(长边多、跨距大),底层稠密(短边多、精度高),查询从顶层快速跳到大致区域,再逐层下沉做精细搜索——思想类似跳表,把「全局定位」和「局部精搜」分开。这样查询通常只需访问极小一部分节点,就能获得高召回。
在向量数据库中的角色
HNSW 是向量索引算法,不是数据库本身——主流向量数据库产品多以它(或其变体)为默认或主要索引,官方参考实现为 hnswlib。工程权衡:① 换来的是速度,付出的是内存(图结构开销大)与近似性(可调参数在召回率与速度间权衡);② 支持增量插入,但删除和更新支持相对弱,部分实现采用标记删除;③ 亿级库、强过滤查询等场景会有专门优化或替代索引(IVF、DiskANN 等)。