四种向量检索架构对比:RedisSearch、ES 与混合架构选型分析

我们对比这四种:

1️⃣ RedisSearch:元数据过滤 + 向量检索(单引擎)

2️⃣ Elasticsearch:元数据过滤 + 向量检索(单引擎)

3️⃣ Redis + ES:ES先过滤 → 再向量检索

4️⃣ Redis + ES:Redis先向量检索 → ES过滤(工业主流)


一、四种架构整体图

① Redis 单引擎

复制代码
Query
 ↓
RedisSearch
(KNN + TAG filter)
 ↓
Result

② ES 单引擎

复制代码
Query
 ↓
Elasticsearch
(vector + bool filter)
 ↓
Result

③ 双引擎(ES先过滤 ❌)

复制代码
Query
 ↓
Elasticsearch filter
 ↓
Redis/ES vector search
 ↓
Result

④ 双引擎(Redis先召回 ✅)

复制代码
Query
 ↓
Redis KNN recall
 ↓
Elasticsearch filter
 ↓
Result

二、核心维度对比(⭐⭐⭐⭐⭐重点)

维度 Redis单引擎 ES单引擎 ES先过滤 Redis先召回(推荐)
向量搜索速度 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐⭐
元数据过滤能力 ⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
召回质量 ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ❌ ⭐⭐⭐⭐⭐
延迟稳定性(P99) ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐
权限系统支持 ⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
大规模扩展 ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐⭐
工程复杂度 ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐
企业RAG适配 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐⭐

三、逐个方案深度分析


方案① RedisSearch 单引擎

工作方式

Redis 同时做:

复制代码
KNN + TAG过滤

优点

✅ 极低延迟(内存ANN)

✅ 架构简单

✅ 运维成本低


致命问题

1️⃣ TAG filter 会破坏 HNSW

过滤发生在搜索阶段:

复制代码
只允许访问部分节点

导致:

  • recall下降
  • ANN退化

2️⃣ 复杂查询能力弱

Redis 不擅长:

  • bool组合
  • 权限继承
  • keyword ranking

适合阶段

✅ MVP

✅ 百万级以内知识库


方案② Elasticsearch 单引擎

工作方式

ES 同时执行:

复制代码
bool filter + vector search

优点

✅ 强过滤能力

✅ hybrid search 原生支持

✅ 企业权限模型友好


问题(很多人低估)

1️⃣ 向量搜索慢

ES ANN:

复制代码
磁盘 + segment + bitset

不是纯内存图。


2️⃣ P99 延迟高

典型:

复制代码
P50 = 80ms
P99 = 800ms+

3️⃣ 成本高

需要:

  • 更多节点
  • JVM tuning

适合

✅ 过滤复杂

❌ 高QPS语义检索


方案③ ES先过滤 → 再向量检索(错误架构 ❌)

这是很多团队的直觉方案。


为什么看起来合理?

复制代码
先过滤权限
再找相似

逻辑像 SQL。


但 ANN 不是 SQL。

核心问题:破坏 HNSW 图

过滤后:

复制代码
导航路径消失

导致:

  • 找不到最近邻
  • recall暴跌

典型现象

  • 明明有答案却搜不到
  • 结果随机变化
  • 长尾延迟爆炸

工业界基本不用。


方案④ Redis先召回 → ES过滤(⭐工业标准)

工作方式

Step1:Redis

复制代码
全局语义空间找 TopK

保持 HNSW 完整。


Step2:ES

在候选集合中:

复制代码
权限过滤
keyword增强
排序

为什么它最好?

因为分工正确:

系统 做自己最擅长的事
Redis 快速语义Recall
ES 精准结构Filter

技术本质

这是:

复制代码
Recall → Filter → Rerank

也是:

  • OpenAI Retrieval
  • Microsoft Copilot
  • 企业知识助手

通用架构。


四、性能直觉对比(非常关键)

假设:

复制代码
1000万文档
财务权限占5%

ES先过滤

复制代码
1000万 → 50万
ANN在50万上跑

问题:

  • 图稀疏
  • 路径断裂

Redis先召回

复制代码
1000万 ANN导航
→ Top300
→ ES过滤

ANN 始终在最优空间。


五、真实生产结论(行业经验)

阶段 推荐架构
Demo Redis
小规模企业 ES
中大型RAG Redis→ES ⭐
超大规模 多Recall引擎

六、总结⭐

RedisSearch 适合高性能语义召回,Elasticsearch 擅长复杂元数据过滤。若先进行结构化过滤会破坏 HNSW 图的全局连通性,降低召回质量。因此工业界普遍采用 Redis 进行向量召回,再由 Elasticsearch 执行权限与结构化过滤的两阶段检索架构。


真正大厂级架构升级路径

复制代码
Redis → Redis+ES → 多Recall → Learning-to-Rank → Agentic Retrieval

这基本就是 AI 搜索系统的完整进化路线。

相关推荐
qq_454245033 分钟前
认知自举:LLM自我指令泛化的三层逻辑
人工智能·架构·prompt
希艾席帝恩18 分钟前
生产车间智能升级背后,数字孪生发挥了什么作用
大数据·低代码·私有化部署·低代码平台·数字化转型
XUHUOJUN20 分钟前
Azure Stack Hub 存储服务:托管磁盘、Blob/Table/Queue 与容量管理(下篇)
架构·azure stack
XUHUOJUN1 小时前
Azure Stack Hub 存储服务:从 S2D 物理栈到租户服务全景(上篇)
架构·azure stack
上海云盾商务经理杨杨1 小时前
WAF+DDoS 双层防护架构!解决应用层混合攻击漏杀误杀问题
架构·ddos
D11_2 小时前
如何选择靠谱的 GEO 品牌服务商
大数据·人工智能
Miao121312 小时前
工程交付指标入门:如何重新掌控软件交付
大数据·运维·devops
马优晨3 小时前
pring Boot + MyBatis + Redis 项目分层架构详解 —— 各层职责、关系与工作流程
架构·mybatis·spring项目分层架构详解·spring项目架构详解·spring各层职责·spring关系与工作流程
weixin_549808363 小时前
中企出海:HR一体化解决方案如何支撑企业全球化征程
大数据·人工智能
上海安当技术3 小时前
老系统零改造接入:旁路代理统一认证实战
java·servlet·架构·kubernetes·jenkins