检索系统与向量数据库
搜索系统基础
介绍搜索系统中的倒排索引、BM25、高亮和排序,以及它和语义检索的区别。
检索系统与向量数据库beginner搜索倒排索引BM25检索
搜索系统解决的是“用户或系统如何从大量内容里找到候选结果”。在 RAG 和文档站里,搜索既可以服务人,也可以服务模型,但两者目标不同。
理解搜索基础,能帮助我们看清关键词检索、语义检索和混合检索各自适合什么。
倒排索引在做什么
倒排索引把“词出现在哪些文档里”提前建好。用户搜索关键词时,系统不用逐篇扫描,而是直接找到包含这些词的文档。
这就是传统全文搜索高效的基础。
BM25 解决什么
BM25 是一种常见排序方法,用来判断文档和查询词的匹配程度。它会考虑词频、文档长度和词的区分度。
关键词明确时,BM25 很强;表达换一种说法时,它就不如语义检索。
和向量检索的关系
关键词检索擅长精确命中,向量检索擅长语义相近。两者不是替代关系,很多 RAG 系统会把它们组合起来。
一句话先记住
搜索基础决定系统能不能先找对候选,语义能力决定系统能不能理解相近表达。
继续阅读
05-retrieval/004-similarity-search.md04-rag/007-hybrid-search.md