Appearance
4.1 索引是什么,索引在做什么
这一节讨论的是 RAG 里另一个很容易被误解的基础问题:索引到底是什么,它在后面检索链路里到底承担什么作用。
很多人第一次做 RAG,会把索引理解成:
- 把文本存进向量数据库
- 然后以后按相似度查出来
这当然不算错,但太粗了。
真正的索引,讨论的从来不只是“存哪里”,而是:
- 以后按什么方式找
- 找的时候依据什么比较
- 哪些边界先过滤
- 找回来以后还能不能继续排序、聚合和治理
这一节真正想帮你建立的,是一个更稳的认识:
索引不是“文本仓库”,而是在为后面的检索方式、过滤方式和召回粒度提前做组织。
学这一节时,最值得先建立的判断
- 向量数据库里通常存的不只是文本,还有向量、ID、metadata 和索引结构
- 索引设计决定的,不只是存储方式,更是后面“怎么找”的方式
- 文本、向量、关键词索引和 metadata 不是互相替代,而是常常一起协作
- 很多检索问题看起来像模型问题,实际往往先是索引组织方式不对
这一节会回答什么问题
读完这一节后,你最好能更稳地判断:
- 当前系统里的“索引”到底在组织什么
- 一个索引对象除了文本,还需要哪些基本成分
- 文本、向量、关键词和 metadata 在检索阶段分别在发挥什么作用