# Summary
- HNSW 是当前主流 ANN 图索引,查询复杂度近似 log N,对大规模向量库效果/速度最佳 ([Pinecone](https://www.pinecone.io/learn/series/faiss/hnsw/?utm_source=chatgpt.com "Hierarchical Navigable Small Worlds (HNSW) - Pinecone"))。
## 关键优势
**搜索速度快**:时间复杂度约为 O(log N),比暴力搜索的 O(N) 快得多
**高召回率**:虽然是近似搜索,但准确率通常能达到 95% 以上
**增量构建**:可以动态添加新数据,不需要重建整个索引
**内存友好**:相比其他算法(如 LSH),内存占用相对较少
# Cues
# Notes
HNSW(Hierarchical Navigable Small World)是一种用于**快速相似性搜索**的算法,特别擅长在高维向量空间中找到最相似的数据点。让我用通俗的方式来解释:
## 核心概念
想象你要在一个有数百万人的城市里找到和你最相似的人。如果挨个比较,效率会非常低。HNSW 就像是建立了一个**多层级的社交网络**:
**底层(第0层)**:包含所有人,每个人都认识附近的几个邻居 **高层**:只有少数"社交达人",他们之间有远距离连接,像是"快速通道"
## 搜索过程
当你要找最相似的人时:
1. **从顶层开始**:先找到顶层的某个"社交达人"
2. **逐层下降**:通过这个人的关系网,找到下一层中更接近目标的人
3. **精确定位**:到达底层后,在局部邻居中精确搜索
这就像是先坐飞机到目标城市(高层快速定位),再坐地铁到具体区域(中层导航),最后步行到精确地址(底层精确搜索)。
## 实际应用
HNSW 广泛应用于:
- **推荐系统**:快速找到相似用户或商品
- **图像搜索**:通过图片特征向量找相似图片
- **语义搜索**:在向量数据库中找语义相似的文本
- **人脸识别**:在人脸特征库中快速匹配
## 简单类比
如果把传统搜索比作在字典里一页页翻找单词,HNSW 就像是:
- 先看目录确定大概在哪个字母段(高层)
- 再定位到具体的几页(中层)
- 最后在这几页里精确查找(底层)
这种分层导航的方式,让它在处理百万甚至千万级别的高维向量时,依然能保持毫秒级的搜索速度,这也是为什么它成为了许多向量数据库(如 Faiss、Qdrant、Weaviate)的核心算法之一。