向量检索看起来只是“存进去、查出来”,真正上线后容易出问题的是参数与过滤。

一、HNSW 的两个关键参数:M 控制每个节点的连边数,越大召回越高、内存越多;efConstruction 影响建索引质量,efSearch 影响查询时的搜索广度。默认值通常偏保守,需要用真实查询集调,而不是照抄示例。

二、过滤比向量更难:带业务条件(只看某个租户、某个时间段)的检索,如果先向量后过滤,可能把结果过滤到只剩一两条;先过滤再向量,又容易破坏索引结构。多数数据库提供“过滤后搜索”的专用路径,选型时要专门测这一项。

三、混合检索:纯向量对关键词、编号、人名不敏感。把 BM25 的关键词分数与向量分数加权融合,通常是提升召回最便宜的手段。

四、评测方式:准备 100 到 300 条真实问题与标准答案,测 Recall@10 和端到端答对率。只看“向量看起来像不像”没有意义。

选型不必迷信新出的专用库:数据量在百万级以内,PostgreSQL 的向量扩展往往够用,运维成本也最低。