Setting the file. One moment.
Chapter 114 · Storing And Querying Vectors
Subchapter 114.2
references/metadata-filtering.mdMarkdown2 KBView on GitHub
For full docs: search AWS docs for "S3 Vectors metadata filtering"
--filter--metadata-configuration. Search AWS docs for "S3 Vectors non-filterable metadata" for JSON syntax.
Cannot be used in filters but can store larger data. Total metadata per vector
(filterable + non-filterable combined) is limited to 40 KB. Ideal for text
chunks, descriptions, raw content. Immutable — cannot change after index
creation. Max 10 non-filterable keys per index.| Operator | Input types | Description |
|---|---|---|
$eq | string, number, boolean | Exact match (default when no operator specified) |
$ne | string, number, boolean | Not equal |
$gt | number | Greater than |
$gte | number | Greater than or equal |
$lt | number | Less than |
$lte | number | Less than or equal |
$in | array of primitives | Match any value in array |
$nin | array of primitives | Match none of the values |
$exists | boolean | Check if field exists |
$and | array of filters | Logical AND |
$or | array of filters | Logical OR |
Simple equality (implicit $eq):
{"genre": "documentary"}Numeric range:
{"year": {"$gte": 2020, "$lte": 2024}}Array match:
{"category": {"$in": ["science", "technology"]}}Compound filter:
{"$and": [{"genre": {"$eq": "drama"}}, {"year": {"$gte": 2020}}]}Existence check:
{"genre": {"$exists": true}}$eq is implicit — {"genre": "drama"} equals {"genre": {"$eq": "drama"}}$eq on array metadata matches if input matches ANY element in the arrays3vectors:QueryVectors AND s3vectors:GetVectors