检索技术

一、检索系统的第一性原理

1.1 检索的本质问题

检索的本质:

有限时间与资源约束下,从海量候选集合中,找到**足够好(Good Enough)**的 TopK 结果。

由此天然产生三大不可消除的矛盾:

  1. **搜索空间巨大**(数据规模持续增长)
  2. **计算资源有限**(CPU / IO / 内存 / 网络)
  3. **精确性与性能不可兼得**

👉 一切检索技术,都是在这三者之间做权衡。


1.2 检索系统的统一抽象模型

所有检索系统,都可以被抽象为三段式结构:

检索系统 = 搜索空间裁剪 × 候选生成 × 结果排序
阶段核心目标关键问题
搜索空间裁剪快速缩小候选范围怎么“尽早排除不可能”?
候选生成召回可能相关对象怎么“不漏掉好结果”?
结果排序选出最优 TopK怎么“定义相关性”?

后文所有技术,都会被映射到这一模型中。


二、搜索空间裁剪:减少问题规模

第一性原则:先排除,再计算

2.1 基础数据结构裁剪

技术裁剪思想
数组 / 链表顺序扫描(无裁剪)
树(B+树)有序空间二分
哈希等值映射
跳表多层有序跳跃

本质:利用数据分布的结构性,减少比较次数


2.2 状态型裁剪结构

技术本质作用
位图用空间换时间的集合表示
布隆过滤器高概率否定(False Positive 可接受)

👉 核心思想:

“快速否定”比“精确肯定”更重要


2.3 空间裁剪(地理与多维空间)

GeoHash

本质:

空间映射为前缀可比较的有序编码

四叉树 / 前缀树


三、候选生成:召回“可能相关”的对象

候选生成允许不精确,但不允许漏掉“好结果”

3.1 关键词候选生成:倒排索引

倒排索引的本质

从“文档为中心”转为“词项为中心”

结构抽象:

倒排索引的工程加速思想

技术解决的问题
跳表有序集合快速跳过
哈希大小集合交集
位图 / Roaring Bitmap大规模集合运算

本质:

集合运算优化,而非单点查找


3.2 向量候选生成:相似性召回

向量检索的第一性问题

相似度计算是连续空间中的“近邻搜索”问题

精确搜索不可扩展,因此必须近似。


3.3 近似最近邻(ANN)的三大范式

范式本质思想代表技术
哈希型相似对象进同桶LSH / SimHash
量化型空间离散压缩PQ
图搜索小世界导航HNSW

共同目标:

用结构性假设,避免全量距离计算


四、结果排序:定义“相关性”

排序不是数学问题,而是价值判断问题

4.1 统计相关性模型

模型核心假设
TF-IDF区分度来自“少见但频繁”
BM25词频收益递减

4.2 图与全局重要性

本质:

相关性不仅来自内容,也来自结构关系


4.3 学习排序模型

逻辑回归 / Learning to Rank:

相关性 = 多信号加权的工程妥协


五、近似 TopK:工程中的必然选择

5.1 为什么必须近似

👉 目标转为:

只要最好的结果在 TopK 里即可


5.2 典型近似策略

策略本质
离线排序截断计算前移
分层索引高质量优先
胜者表有损剪枝

六、索引工程:时间换稳定性的艺术

6.1 不可变索引思想

体现:


6.2 分层合并(LSM 思想)

写入快,查询通过合并优化

本质:

用时间换空间与稳定性


6.3 索引拆分

本质:

并行化是唯一的扩展手段


七、检索范式的演进

关键词检索 → 统计排序 → 语义向量 → 混合检索 → RAG

7.1 RAG 的本质定位

RAG 并不是“新检索”,而是:

检索作为上下文构建系统,为生成服务

它继承了所有传统检索的工程约束。


八、工程原则总结(稳定知识层)

  1. 先裁剪,再计算
  2. 离线优于在线
  3. 不可变优于可变
  4. 近似优于精确
  5. 空间换时间
  6. 并行化优于单机优化

关联内容(自动生成)