检索系统与向量数据库

搜索系统基础

介绍搜索系统中的倒排索引、BM25、高亮和排序,以及它和语义检索的区别。

检索系统与向量数据库beginner搜索倒排索引BM25检索

搜索系统解决的是“用户或系统如何从大量内容里找到候选结果”。在 RAG 和文档站里,搜索既可以服务人,也可以服务模型,但两者目标不同。

理解搜索基础,能帮助我们看清关键词检索、语义检索和混合检索各自适合什么。

倒排索引在做什么

倒排索引把“词出现在哪些文档里”提前建好。用户搜索关键词时,系统不用逐篇扫描,而是直接找到包含这些词的文档。

这就是传统全文搜索高效的基础。

BM25 解决什么

BM25 是一种常见排序方法,用来判断文档和查询词的匹配程度。它会考虑词频、文档长度和词的区分度。

关键词明确时,BM25 很强;表达换一种说法时,它就不如语义检索。

和向量检索的关系

关键词检索擅长精确命中,向量检索擅长语义相近。两者不是替代关系,很多 RAG 系统会把它们组合起来。

一句话先记住

搜索基础决定系统能不能先找对候选,语义能力决定系统能不能理解相近表达。

继续阅读

  • 05-retrieval/004-similarity-search.md
  • 04-rag/007-hybrid-search.md