最近在搞一个知识库问答,用的pgvector存了几万条文档向量。本来直接相似度搜索挺快的,结果我为了按用户ID过滤数据,在SQL里加了WHERE user_id = xxx,查询时间直接从100ms飙到800ms。我看了下执行计划,它好像先做了向量索引扫描再过滤,感觉没走对。有没有大佬遇到过类似情况?是应该用HNSW的filter参数,还是说建个复合索引?另外,我测试的时候发现过滤基数太小(比如只有几十条)和太大(几万条)表现完全不一样,这正常吗?现在有点懵,求指点。