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

相关推荐
只会cv的前端攻城狮20 小时前
DSL 领域模型架构设计:消灭 CRUD 重复工作
前端·架构
禅思院1 天前
路由性能优化终极指南:从懒加载漏洞到边缘渲染的架构跃迁
前端·架构·前端框架
怕浪猫1 天前
Electron 系列文章封面图
算法·架构·前端框架
得物技术1 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
王二端茶倒水1 天前
从千兆到万兆:小区、园区、酒店网络运营该怎么升级?
架构
喵个咪1 天前
技术复盘:基于 go-wind-cms 的官网+商城双业务渐进拆分实战
后端·架构·go
ZengLiangYi1 天前
批量导入 1000 条对话的性能优化实战
javascript·后端·架构
久美子1 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai