四种向量检索架构对比: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 搜索系统的完整进化路线。

相关推荐
say_fall37 分钟前
【AI大模型】MCP 模型上下文协议:客户端-服务器架构、JSON-RPC 消息与能力协商、工具发现与调用链路、与函数调用的分工
服务器·人工智能·架构
Decay__2 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
演艺大赏2 小时前
NiFi 起不来、登不上、节点被挤掉:一份按日志定位的排错清单
大数据
freejackman2 小时前
【实战三】撕开脱敏盲区:深度解析 CASE WHEN 与窗口函数血缘
大数据·数据库·sql
猿人谷2 小时前
Surrogate Model:让进化算法学会“预测”,为什么它正在成为智能优化的重要技术?
后端·算法·架构
Kari112 小时前
企业级智能体平台怎么选:腾讯云ADP与其他主流技术路线的架构对比
架构·云计算·腾讯云
泯泷3 小时前
AI时代,中层还要替公司传多少次话?
人工智能·架构
Dawson Zhu3 小时前
【LLM推理与Serving⑧】多机多卡Serving:TP/PP/负载均衡与弹性扩缩容全攻略
人工智能·语言模型·架构·aigc·agi
Bode_20025 小时前
大语言模型与运筹规划双闭环共生(LLM-OR):体系架构、理论机理与落地实践
人工智能·语言模型·架构
空奈qwq5 小时前
【Kafka 从入门到实战】从手写一个队列到生产级消息中间件:架构、分区、消费组、零拷贝全解析
分布式·架构·kafka