混合检索入门:关键词和向量为什么要一起用
解释混合检索如何结合关键词精确匹配和向量语义召回,并给出适合博客知识库的落地方式。
纯向量检索擅长语义相似,但对版本号、函数名、错误码这类精确 token 不一定稳定。纯关键词检索擅长精确匹配,但对同义表达不友好。RAG 系统常把两者结合成混合检索。
Pinecone 和 LlamaIndex 文档都围绕检索、索引和重排提供了工程资料。[hybrid-001][hybrid-002]
两路召回更稳
一个简单流程:
query
-> keyword search top 20
-> vector search top 20
-> merge and deduplicate
-> rerank
-> build context混合检索不是为了复杂,而是为了同时照顾精确词和语义表达。
适合哪些内容库
- 技术博客。
- API 文档。
- 错误排查记录。
- 代码片段说明。
- 产品 FAQ。
如果用户经常搜索具体命令、包名、错误码,混合检索通常比纯向量更可靠。
参考资料
- [hybrid-001] Pinecone Docs, “Rerank results”, https://docs.pinecone.io/guides/search/rerank-results
- [hybrid-002] LlamaIndex Docs, “Indexing”, https://docs.llamaindex.ai/en/stable/module_guides/indexing/