Skip to main content
Learn how to filter search results using metadata predicates.

Simple Filters

src/simple-filters.ts

Complex Filters

src/complex-filters.ts

Combining Multiple Conditions

AND Logic

src/filter-and.ts

OR Logic

src/filter-or.ts

Dynamic Filters

src/dynamic-filters.ts

Non-Semantic Filtering

For filtering without semantic search, use filter():
src/non-semantic-filter.ts
filter() returns documents without semantic ranking - they’re returned in insertion order. Use search() with a filter when you need semantic relevance.

Filter Performance

Filters are applied after similarity calculation:
  1. Query embedding is generated
  2. All documents are scored by similarity
  3. Filters remove non-matching documents
  4. Top K results are returned
For large datasets with HNSW, VectoriaDB fetches extra candidates (3x topK) to account for filtering, ensuring you still get enough results.

Basic Search

Search fundamentals

Thresholds

Tune similarity

Performance

Optimize search