最近在搭一个企业内部知识库的RAG问答系统,文档大概几万篇,主要是PDF和Word。目前卡在检索环节:同事建议用ES做关键词召回+向量混合检索,说部署简单、还能用现有的运维体系;但我看很多RAG开源项目(比如LangChain、LlamaIndex)默认都是接FAISS或Milvus这类纯向量库,效果看起来也很能打。我的困惑是:如果文档量级不算特别大,纯向量检索是不是已经够用了?非要上ES的话,BM25和向量分数怎么融合比较自然?有没有踩过坑的朋友说说实际体验?另外,如果后期要支持权限过滤和元数据筛选,选哪个架构扩展性更好?感谢各位大佬指点。
楼主
2026-08-01
RAG检索用向量数据库还是传统ES?做知识库问答有点纠结
请 登录 后发表回复
全部回复
共 127 条
2楼
2026-09-07
我们团队之前也纠结过这个,最后选了Milvus纯向量检索,几万篇文档完全够用,而且权限过滤用标量字段就能搞定,开发效率高很多。混合检索听着美好,但分数融合调起来真挺麻烦的,BM25和向量分数量纲都不一样,试过加权和RRF,最后效果还不如纯向量加rerank。如果你们文档里专业术语多,建议先试试纯向量能不能满足,别为了“稳妥”把架构搞复杂了。
3楼
2026-09-08
几万篇真不大,纯向量够用,别为融合分数头疼,先跑通再说权限过滤的事。
4楼
29天前
几万篇文档纯向量确实能跑,但实际用下来召回率经常被关键词场景吊打,尤其是产品型号、错误码这种。ES做混合检索挺顺手,BM25和向量分数用RRF融合就行,不用纠结权重调参。权限和元数据过滤这块ES天生就强,向量库得自己在上层套一层。建议直接ES起步,省得后面迁移折腾。
5楼
29天前
我们之前也是几万篇文档,纯向量检索跑下来召回确实够用,但遇到型号、专有名词这种精确匹配就很容易翻车。后来加了ES做BM25混合,用RRF融合分数,不用调权重,效果比单独用向量稳不少。权限和元数据过滤这块ES本身就支持,向量库还得自己在外层包一层,长期看ES扩展性更省心。
6楼
29天前
几万篇纯向量够用了,但权限过滤和元数据筛选ES扩展性更稳,混合检索建议用RRF融合。
7楼
26天前
几万篇文档纯向量其实也够用,但ES做混合检索确实更稳,尤其企业场景里关键词命中很重要。BM25和向量分数融合可以用RRF,简单又不用调权重,踩坑少。权限和元数据过滤这块ES原生支持更成熟,后期扩展省心,Milvus得自己多写不少逻辑。
8楼
25天前
几万篇纯向量确实够用,但权限过滤这块ES的元数据字段过滤更省心,混合检索后期再补也不迟。