向量数据库

过滤的陷阱:召回塌陷与分片误用

进阶混合检索与过滤约 20 分钟kp-017

前置知识

一句话定义

向量检索的过滤陷阱集中在三个放大器上:选择率(条件越苛刻,post-filter 越塌)、基数(字段取值越多,标量索引越肥)、分片键与过滤键错位(本地命中、全局走样)——每个陷阱都有明确的检测信号与标准修法。

为什么重要

过滤类故障的共同特征是"影子故障":单测(小数据、高选择率)全绿,生产上只有特定租户/特定时间段触发,且表现为"查不到"而非报错——业务方往往归咎于"知识库内容不全",真实根因在检索引擎侧。这一篇把 kp-014 的机制展开成可对照的故障手册。

前置知识

kp-014(三种过滤策略与选择率概念);kp-004(召回的可测量性)。

核心概念

原理与机制

六大陷阱与处置(本篇核心,逐条"症状→根因→修法"):

#陷阱症状根因修法
1post-filter 塌陷苛刻条件返回 < k 条甚至空ANN 后过滤,k×选择率过小切 pre-filter / 过滤感知遍历
2低选择率全扫带过滤 p99 比无过滤慢一个量级预过滤集合过小,图导航退化filterable 索引或 partition 隔离
3高基数倒排膨胀内存涨、写入变慢user_id 级字段建全量倒排高基数转分片键/分区键
4分片键错位无过滤快、带过滤慢且方差大过滤字段未做分片/分区键分片键=最高频过滤字段(kp-029)
5删除可见性刚删的记录还在结果里tombstone 未合并、一致性级别低(kp-022)调一致性级别;理解段合并时机
6ef 救不了过滤调大 efSearch 无效ef 扩的是 ANN 候选,过滤在之后发生换过滤执行策略,不是调 ef

机制要点:陷阱 1/2/6 是同一枚硬币——过滤与 ANN 的执行顺序决定了一切;陷阱 3/4 是数据布局问题,标量索引与分片策略必须按查询模式设计,而不是按表结构顺手建。

公式或模型

判据公式(决定是否必须放弃 post-filter):

若 E[有效返回] = k × selectivity < k_min(业务要求), 则 post-filter 不可用
例: k=10, 要求至少返回 8 条 → 需选择率 ≥ 0.8 才敢用 post-filter

图示

选择率 ──► 执行策略决策
  ≥0.3   : post-filter (便宜)
 0.01~0.3: 过滤感知图遍历 (动态 ef)
 <0.01   : partition/分片隔离 (把过滤变路由)
 高基数  : 永远不建全量倒排, 转分片键

实例或案例

在线教育平台故障复盘:客户反馈"新学期课程搜不到"。排查链:接口无错误 → 向量库无报错 → 复现发现 semester=2026秋 过滤选择率 0.003,而该库走 post-filter(k=10),期望返回 0.03 条;切到过滤感知遍历 + 该字段倒排后恢复。教训:新过滤字段上线前必须按选择率分桶评测,而不是只测默认查询。

直观类比

陷阱 4 像图书馆按"到馆年份"排书架,读者却总按"作者"找书——每个书架都要翻一遍。把书架按作者重排(分片键=高频过滤键),一次直达。

常见误区(本篇主题,另附两条高频误判)

  1. "过滤是索引的附带功能,性能不会差太多"——过滤执行策略可造成 10 倍级延迟差与召回塌陷,必须纳入索引选型(kp-027 的 Q3 判据)。
  2. "单测通过 = 过滤没问题"——必须用生产分布的选择率分桶数据测;影子故障正是从"测试集选择率偏高"漏出来的。
  3. "把过滤逻辑挪到应用层做(查回来再筛)最安全"——把塌陷从引擎层搬到了业务层,还多耗网络与带宽;塌陷不会消失,只是更难观测。

自测题

  1. 检测陷阱 1 的最小实验设计?
  2. 答:取生产查询样本按选择率分桶,对每桶统计"返回条数分布与 recall@k",选择率低于 k×选择率<业务下限的桶即暴露。

  3. 为什么调大 efSearch 修不了 post-filter 塌陷?
  4. 答:ef 只增大 ANN 的候选规模,而过滤发生在 ANN 返回之后,k×选择率 的期望结构未变;必须改变执行顺序(预过滤/过滤感知遍历)。

  5. user_id(千万级取值)要作为过滤条件,怎么设计?
  6. 答:不做全量倒排;把 user_id 设为 partition/分片键做物理隔离,查询先路由到目标分片,分片内无需该字段过滤或仅低基数辅助过滤。

与其他知识点的关系

kp-014 提供机制地基;kp-022 的写删语义解释陷阱 5;kp-029 的分片设计是陷阱 3/4 的工程出口;kp-027 把"过滤复杂度"列为选型决策树的正式分支。

延伸阅读

本节不适用:本篇为工程陷阱汇编,源自生产实践与系统设计讨论,无单一经典文献对应。

相关知识点