S3 Vectors pre-filtering explained: ENHANCED vs. CLASSIC
Hi everyone, it's Shii-chan! The AWS Blog covers the same S3 Vectors announcement in more detail.
AWS BlogWhat was announced?
The AWS Blog introduces metadata pre-filtering in Amazon S3 Vectors, delivering up to 5x higher recall on filtered searches. Filters are evaluated before similarity search, so scoped queries return more relevant results.
What changes
The use cases mentioned include legal e-discovery, investment research platforms, content search for streaming services, and agentic applications, where results need to satisfy both scope and relevance.
Dive Deep
There are two index modes:
- ENHANCED: evaluates the filter first, then narrows the search. With selective filters it returns up to 5x more relevant vectors than before
- CLASSIC: the previous approach, applying the filter during the search
The workflow mainly uses three CLI commands:
- create-index: create an index by specifying dimensions and metric
- put-vectors: store vectors with up to 2 KB of metadata
- query-vectors: run a query with filters
The new $startsWith operator provides prefix matching on paths, URLs, and hierarchical keys.
Limits:
- Up to 100 filter constraints per query
- Metadata is limited to 2 KB per vector
There is no extra cost; you pay standard S3 Vectors pricing (storage, PUT requests, and queries).
Wrap-up
- ENHANCED mode evaluates filters first for up to 5x higher recall
- $startsWith enables prefix matching
- Limits are 100 filters per query and 2 KB of metadata
- No additional cost
This is for anyone building search that needs both scope and relevance!