新闻详情

新闻详情

首页 / 资讯中心 / 详情

向量检索与标量过滤混合查询:PostgreSQL pgvector 与 Milvus 的过滤下推实操

发布时间:2026/9/5 0:02:53来源:尧图网络
向量检索与标量过滤混合查询:PostgreSQL pgvector 与 Milvus 的过滤下推实操
向量检索与标量过滤混合查询PostgreSQL pgvector 与 Milvus 的过滤下推实操在构建企业级 RAG 知识库与智能体记忆检索时极少有纯粹的“全局高维向量相似度检索”。绝大多数真实的业务查询都带有极其严格的标量业务过滤条件Scalar Filtering“在[租户ID tenant_001]且[文档分类 财务制度]且[发布时间 2026-01-01]的范围内检索与‘发票报销时限’最相似的 Top-5 段落”。如果在架构设计与中间件选型时不理解“标量过滤”与“向量索引”的结合机制系统在海量数据下面临灾难性的性能坍塌前置过滤Pre-filtering全表扫描如果先按标量过滤出符合条件的 500 条记录再在这些记录上逐一做暴力向量距离计算当候选集大时耗时极大且无法利用 HNSW 索引加速后置过滤Post-filtering结果真空如果先用 HNSW 捞出全局 Top-100 相似向量再在内存中过滤tenant_id若该租户的数据在全局占比仅为 0.1%过滤后最终可能只剩下 0 条有效结果导致严重的“检索结果凭空消失”。如何在PostgreSQL (pgvector)与Milvus / Qdrant中实现真正的单阶段原生过滤下推Single-Stage Filter Pushdown一、三大混合过滤机制的底层执行对比┌────────────────────────────────────────────────────────┐ │ 模式 1: 后置过滤 (Post-Filtering - 极易漏检) │ │ 流程: 全局 HNSW Top-K ──► 内存标量过滤 ──► 剩余结果极少│ ├────────────────────────────────────────────────────────┤ │ 模式 2: 前置过滤 (Pre-Filtering - 无法利用图索引) │ │ 流程: 标量索引查出 ID ──► 暴力计算余弦相似度 ──► 延迟高│ ├────────────────────────────────────────────────────────┤ │ 模式 3: 单阶段原生过滤下推 (Filter Pushdown - 推荐) │ │ 流程: 在 HNSW 图游走遍历的每一步动态跳过不符合标量条件的│ │ 节点兼顾图索引的极速与标量过滤的 100% 准确性 │ └────────────────────────────────────────────────────────┘二、PostgreSQL pgvector 的混合查询生产实操在 PostgreSQL 16 与 pgvector 0.7 中通过引入迭代式索引扫描Iterative Index Scan机制完美解决了后置过滤的漏检问题-- 1. 创建包含业务标量与向量的复合数据表 CREATE TABLE enterprise_documents ( id BIGSERIAL PRIMARY KEY, tenant_id VARCHAR(64) NOT NULL, category VARCHAR(32) NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), content TEXT NOT NULL, embedding vector(1536) NOT NULL ); -- 2. 创建标量复合索引 CREATE INDEX idx_docs_tenant_cat ON enterprise_documents(tenant_id, category); -- 3. 创建针对 1536 维向量的 HNSW 索引 CREATE INDEX idx_docs_hnsw ON enterprise_documents USING hnsw (embedding vector_cosine_ops) WITH (m 32, ef_construction 128); -- 4. 生产级单阶段混合查询 (过滤下推生效) EXPLAIN ANALYZE SELECT id, content, 1 - (embedding [0.012, -0.045, ...]) AS similarity_score FROM enterprise_documents WHERE tenant_id tenant_001 AND category finance_policy AND created_at 2026-01-01 ORDER BY embedding [0.012, -0.045, ...] LIMIT 5;在 PG 执行计划中Query Optimizer 会自动识别并将tenant_id过滤条件下推至 HNSW 索引扫描循环内部保证既利用了图索引加速又精准满足多租户隔离。三、Milvus 分布式向量数据库过滤下推实战Milvus 在底层架构中原生支持标量与向量的联合执行计划Bitset 机制from pymilvus import Collection collection Collection(enterprise_kb_collection) # 1. 构造结构化标量布尔过滤表达式 filter_expr tenant_id tenant_001 and category in [finance, tax] and created_timestamp 1767225600 # 2. 执行联合检索 search_params { metric_type: COSINE, params: {ef: 96} # HNSW 在线遍历深度 } results collection.search( data[query_embedding], anns_fieldvector, paramsearch_params, limit5, exprfilter_expr, # 标量过滤表达式直接下推至底层的 QueryNode output_fields[doc_id, title, content] ) for hits in results: for hit in hits: print(fID: {hit.entity.get(doc_id)} | Score: {hit.distance:.4f})Milvus 在检索前会预先通过标量索引生成一个Bitset位图在 HNSW 图游走过程中通过极速的位运算Bitwise AND直接判定某个向量节点是否合法处理 1000 万条数据仅需 8~15ms。四、生产选型与调优总结评估维度PostgreSQL pgvector专用 Milvus / Qdrant 集群数据量规模100 万条以内500 万 ~ 1 亿条以上标量过滤灵活性极高支持复杂 SQL JOIN 与子查询较高支持常见比较与 IN 表达式运维成本极低复用现有 PG 关系库中等需维护独立分布式集群推荐场景中小企业一体化 RAG、单库多租户超大规模企业级数据中台与智能体大脑搞懂过滤下推的底层执行链路告别低效的前后置暴力过滤才能为多租户、强权限的企业级智能体构建起既安全合规又极速响应的检索中枢。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

现在性价比高的AI写论文工具有哪些品牌?选对工具少走弯路 2026/9/5 1:00:05

现在性价比高的AI写论文工具有哪些品牌?选对工具少走弯路

每到期末、毕业答辩、课题申报阶段,很多学子都会深陷论文难题:选题毫无头绪、搭建大纲逻辑混乱、正文撰写耗时长、参考文献格式出错、查重重复率偏高、AIGC检测告警、本校论文排版标准复杂。依靠纯人工从零开始撰写、一遍遍修改格式和降重,常…

阅读更多 →
别踩雷!不是所有 AI 写作工具都靠谱,2026 导师力荐工具汇总 2026/9/5 1:00:05

别踩雷!不是所有 AI 写作工具都靠谱,2026 导师力荐工具汇总

每年毕业季,无数同学深陷论文难题:开题毫无思路、搭建框架耗费数日、初稿逻辑松散、查重标红泛滥、AI检测超标、格式反复被导师驳回。现如今市面上通用型AI工具遍地开花,但绝大多数通用大模型存在编造虚假参考文献、学术语句口语化、AI生成痕…

阅读更多 →
三款AI写作辅助网站实测:从选题到答辩怎么选才不踩坑? 2026/9/5 1:00:05

三款AI写作辅助网站实测:从选题到答辩怎么选才不踩坑?

写论文这事,最怕的不是写不出来,而是写得心里没底。◆ 一、三款产品定位先理清 别一上来就比功能,先看它们各自解决什么问题。 知网研学(x.cnki.net) 中国知网官方推出的个人学习与研究平台,开发主体是《中…

阅读更多 →
用数据说话!盘点2026年深得人心的AI论文工具 2026/9/5 1:00:05

用数据说话!盘点2026年深得人心的AI论文工具

一天写完毕业论文在2026年已不再是天方夜谭。以下是2026年最炸裂、实测能大幅提速的AI论文工具,覆盖选题构思、文献综述、数据整理、降重润色等核心场景,助你高效搞定论文写作。 一、全流程王者:一站式搞定论文全链路(一天定稿首选…

阅读更多 →
microducks与机器人自动化:从任务脚本到ROS2实践 2026/9/5 1:00:05

microducks与机器人自动化:从任务脚本到ROS2实践

最近关于“机器人连合唱演员的工作也能替代”的讨论,又把机器人和人工智能的边界问题推到了前台。很多人看到标题里的 microducks,第一反应是去搜索产品名或演示视频,但获得的公开信息越搜越碎片。与其追着一个传闻中的名词不放,不…

阅读更多 →
实时语音转写实战:从离线转写到Muse Voice Transcribe的工程演进 2026/9/5 0:57:05

实时语音转写实战:从离线转写到Muse Voice Transcribe的工程演进

会议纪要、视频字幕、语音输入法、客服质检,这些场景背后都在处理同一个问题:把大段语音流畅地转成文字。过去我们做语音转写,习惯把一段音频整体丢给模型,等十几秒甚至几十秒,拿回一份完整稿件。这种模式在处理会议录…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞