AWS 宣布为 Amazon S3 Vectors 增加元数据预过滤功能,使租户、类别、状态或日期等条件能够在执行相似性搜索前应用,而不是与结果选择并行检查筛选条件。该公司表示,对于包含选择性筛选条件的查询,这一变化最多可提供五倍数量的匹配向量。
该功能面向不搜索整个索引、而是需要将结果限制在特定范围内的应用,例如在多租户系统中仅搜索某一客户的文档、某个用户的文件,或特定区域和许可证允许的内容。AWS 提到的使用场景包括基于检索增强生成(RAG)的知识库、代理应用、文档搜索,以及金融研究和法律服务平台。
实际会发生什么变化?
在 ENHANCED 模式下,服务会先应用筛选条件,然后仅在匹配的向量集合中执行向量搜索。而当前索引默认使用的 CLASSIC 模式会并行执行搜索和筛选;当所需集合只占索引很小一部分时,这可能会减少匹配结果的数量。
AWS 以一个包含 800 万张支持工单的索引为例,其中 400 张属于某一客户。在增强模式下,搜索会在该客户的工单中进行,而不是先从完整索引中选择候选项,再对结果进行筛选。在另一个示例中,一次索引更新将某一租户限定查询的结果从所需十个结果中仅获得两个,转变为该租户文档的完整结果集合。
功能和限制
每个向量最多可携带 2 KB 可筛选元数据,而单个查询最多支持 100 个筛选条件。查询语言支持相等判断、通过 $and 和 $or 实现的逻辑运算、数值比较、集合成员判断以及存在性检查。AWS 还增加了 $startsWith 运算符,用于按路径、URL 或分层键限制搜索,例如在子文件夹或文档标识符前缀内进行搜索。
现有索引无需重新导入向量,查询也无需更改。但用户必须调用 UpdateIndexMode,将索引转换为 ENHANCED。在 2026 年 9 月 30 日或之后创建的向量容器中的新索引使用增强模式,而较早的容器及其索引会继续使用 CLASSIC,直到用户更改设置。
为什么这条消息很重要?
实际价值不只在于增加结果数量,还在于降低由于所需范围过窄而导致正确文档被向量搜索屏蔽的可能性。这对于多租户系统和必须遵守特定文档集合限制的代理十分重要,因为此类系统的检索质量取决于语义相关性与范围正确性的结合。
该功能在所有提供 Amazon S3 Vectors 的 AWS 商业区域以及 AWS 中国区域均可用,且无需额外费用;存储费用、PUT 请求费用和查询费用仍按照 S3 Vectors 的常规价格计算。条件数量和元数据大小限制仍是需要考虑的因素;AWS 建议在超过 100 个条件的限制时,将大型筛选条件合并或拆分为更小的查询。