Prompt
What vector DB should I use for a hybrid search app with lots of filters?
Latest observation
Oct 7, 2026
OpenAI APIWeb search: off
For a hybrid search app with lots of filters, I’d generally recommend:
Best default choice: Postgres + pgvector
Use this if:
- your dataset is small to medium,
- you already use Postgres,
- you need lots of structured filters,
- you want simple ops and strong consistency.
Why it works well:
- SQL gives you excellent filtering:
WHERE, joins, permissions, faceting, etc. pgvectorhandles embeddings in the same database.- Hybrid search can be done by combining lexical search (Postgres full-text, trigram, or external BM25) with vector similarity.
- Great when filter logic is complex and constantly changing.
Tradeoff:
- Not the fastest for very large-scale ANN search compared to dedicated vector DBs.
Best dedicated vector DB for heavy filtering: Weaviate
Good if you want:
- native vector search,
- strong metadata filtering,
- hybrid search,
- a more “search product” feel.
Why:
- It supports hybrid search natively.
- Metadata filters are pretty solid.
- Easier than building your own search stack from separate components.
Tradeoff:
- Less flexible than SQL for deeply relational/filter-heavy applications.
Best if you want strong filter performance at scale: Qdrant
Good if:
- you need fast vector search,
- you have lots of metadata filters,
- you want a straightforward API,
- you don’t need full text search to be the main engine.
Why:
- Very good payload filtering.
- Efficient and simple to operate.
- Often a strong fit for “vector + metadata filter” workloads.
Tradeoff:
- For true hybrid search, you may still pair it with a text search engine or implement hybrid ranking in your app.
Best for enterprise search at scale: Elasticsearch / OpenSearch
Choose this if:
- hybrid search is core,
- you already want inverted-index text search,
- you have lots of filters and aggregations,
- you need faceting and relevance tuning.
Why:
- Excellent text search + filters + aggregations.
- Vector search is supported now.
- Hybrid search is a natural fit.
Tradeoff:
- More operational complexity.
- Vector capabilities are good, but not always as elegant as a dedicated vector DB.
Quick recommendation by scenario
Pick Postgres + pgvector if:
- filters are very important,
- data size is moderate,
- you want simplest architecture.
Pick Qdrant if:
- vector search is primary,
- filters are heavy,
- you want good performance and simplicity.
Pick Weaviate if:
- you want built-in hybrid search with metadata filtering.
Pick Elasticsearch/OpenSearch if:
- search relevance, text search, filters, and faceting matter most.
My practical advice
If you said “hybrid search app with lots of filters” and didn’t mention massive scale, I’d start with:
Postgres + pgvector
or
Qdrant + a text search engine
If you want a single system and lots of filters, Weaviate or Elasticsearch/OpenSearch are often better than pure vector DBs.
If you want, I can give you a specific recommendation based on your stack (data size, QPS, cloud/on-prem, need for faceting, etc.).