看到Milvus社区这个案例,我第一反应是:FLAT(暴力搜索)在强标量过滤场景下居然能跑出毫秒级响应,这有点反直觉。通常我们认为FLAT是O(n)复杂度,面对千万级向量内存占用会爆炸,但这里的关键在于“强标量过滤”——先通过标量条件(如标签、时间戳)把候选集从2500万缩小到几千甚至几百条,再对这部分做精确向量检索。这样FLAT的精度优势(无索引近似误差)就凸显了,而且内存需求只取决于过滤后的数据量。我个人经验是,在电商以图搜图场景中,如果过滤条件能命中90%以上的数据,HNSW的召回率反而可能因为图结构不完整而下降,FLAT反而更稳。不过我想请教:当标量过滤后的候选集超过10万条时,FLAT的响应时间还能控在毫秒级吗?还是说需要配合PQ量化?另外,这种方案对标量索引的选择(比如倒排 vs B-tree)会不会成为新的瓶颈?从行业看,这个思路提醒我们:向量数据库的优化不应只盯着算法,更要结合业务过滤特性做混合架构设计,未来“标量+向量”的协同索引可能会成为标配。