外观
为什么保留 Exact/HNSW 双路径?过滤条件会怎样影响 ANN?
项目版本说明
这些问答整合历史设计与实现资料;当前 main 分支 README 以工作包描述建设状态。具体能力、实验数据与设计目标的边界见项目状态与证据。
标准回答
Exact 在候选范围和指定距离下精确找近邻,可作为对照;HNSW 用部分召回换取速度,需要证明实际数据和查询条件下的收益。带项目或有效性过滤时,要单独测候选不足和召回下降,不能把无过滤实验结果直接套过来。
通俗例子
近似索引先找到的候选多数属于别的项目,权限过滤后可能只剩两条。此时不能返回越权结果补足五条,而要按策略继续检索、回退或明确返回不足。
深入解释
**不要混淆两种正确率:**近邻召回率衡量 ANN 找回多少 Exact 近邻;业务 Precision@5 衡量返回内容是否真正相关。Exact 也可能精确找到了语义不合用的结果。
**启用条件应可复验:**固定数据、查询和过滤条件,对比延迟与召回质量,再使用真实门槛切换;仅说数据大就用 HNSW 不够。
**回退也有成本:**pgvector 近似扫描后的过滤可能减少结果,可根据版本评估扩大候选或迭代扫描。回退 Exact 能补质量,但需确认数据量下的延迟预算。
追问与回答
你的门槛具体是多少?
简历没有写,必须从实现配置或实验记录补齐,不能临时编一个召回率或毫秒值。
Exact 代表业务答案全对吗?
不代表。距离计算精确与文本是否相关、事实是否有效是不同层次。
易混淆点
不能把 Exact 的近邻召回能力说成 100% 业务准确率。
进一步举证
- 补齐 pgvector 版本、索引和查询参数、启用门槛。
- 准备带权限过滤的延迟、结果数量和质量对比。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
resume-R29