metadata filtering
Restricting vector search to documents matching metadata conditions. Enables filtered semantic search (e.g., "similar documents from the last 30 days in category X").
Syntax
vector-databases
results = collection.query(vector, filter={ "field": { "$eq": "value" } })Example
vector-databases
# ChromaDB metadata filter:
results = collection.query(
query_embeddings=[query_vec],
n_results=5,
where={
"$and": [
{"category": {"$eq": "AI"}},
{"year": {"$gte": 2024}}
]
},
where_document={"$contains": "transformer"}
)
# Pinecone filter:
results = index.query(
vector=query_vec,
filter={"$and": [{"category": "AI"}, {"published": True}]}
)