DAN Analysis 9 min read

Qdrant, Weaviate, and Milvus: How Filterable HNSW and Hybrid Search Are Reshaping Metadata Filtering in 2026

Filtered vector search architectures converging on filterable HNSW and hybrid keyword indexes across leading 2026 vector databases
Before you dive in

This article is a specific deep-dive within our broader topic of Metadata Filtering.

This article assumes familiarity with:

Coming from software engineering? Read the bridge first: Knowledge Retrieval for Engineers: What Transfers, What Breaks →

TL;DR

  • The shift: Metadata Filtering stopped being a post-filter wrapper around vector search and became a first-class index path co-designed with HNSW.
  • Why it matters: Teams still benchmarking pure ANN recall are about to lose to teams that benchmark filtered recall — which is what production actually runs.
  • What’s next: SQL-native engines pull the workload back into general-purpose databases, and the open-source leaders pivot to graph-aware metadata.

For two years, the Vector Database pitch was speed at recall. Cosine similarity, billion vectors, sub-second latency. Production teams kept hitting the same wall — the queries that mattered were never just “find similar.” They were “find similar, where tenant_id = X, doc_type = Y, published after Z.” The filter was the workload. The index wasn’t built for it.

The Architecture Race Just Split in Two

Thesis: The three leading open-source vector engines all rebuilt metadata filtering as an index-level concern in the 2025–2026 cycle — not a post-processing step — and the engines that didn’t are now competing for last year’s benchmark.

Qdrant, Weaviate, and Milvus made the same structural bet within a year of each other. Independently. Three teams, three codebases, one direction.

Qdrant 1.16 (Qdrant Blog) shipped filterable HNSW with ACORN and Tiered Multitenancy in November 2025. Weaviate 1.30 (Weaviate Blog) made BlockMax WAND the default keyword indexer in April 2025. Milvus 2.6 (Milvus Blog) added BitMap, JSON Path Indexing, and a native BM25 path on top of the metadata work that landed in 2.5.

That’s not three product updates. That’s a category re-architecting itself.

Three Engines, One Direction

Watch what each move actually proves.

Qdrant’s filterable HNSW extends the graph with extra edges keyed to indexed payload values, and the query planner switches to a payload-only scan when filter cardinality is low (Qdrant Docs). The new ACORN algorithm — productized in 1.16 from a 2024 Stanford-affiliated paper — handles the case where multiple weak filters break both pre-filtering and filterable HNSW at once. Translation: the two failure modes everyone hit in 2024 just got named, indexed, and routed.

Weaviate’s BlockMax WAND was a tech preview in 1.29 and the default in 1.30. The Weaviate Blog reports up to 94% reduction in BM25 query latency and roughly 11× index compression on tested workloads. The point isn’t keyword search getting faster. It’s that the keyword leg of Hybrid Search now runs only on documents the metadata filter already approved.

Milvus took the widest swing. Milvus 2.5 added BitMap, Array Inverted, and tokenized Inverted indexes for VARCHAR — purpose-built scalar indexes that the Milvus Blog measures at roughly 6.8× speedup at 50% filter selectivity, and up to 400× QPS on Text Match versus the old wildcard like % path. Milvus 2.6 stacked RaBitQ 1-bit quantization (~1/32 index size at ~95% recall), JSON Path Indexing with JSON Shredding, and a Geometry data type with RTREE spatial indexing on top.

Three releases. Three architectures. One thesis: the index has to know about the filter at build time, not at query time.

The Winners

Qdrant won the high-cardinality structured prefilter market. Filterable HNSW plus ACORN plus Tiered Multitenancy is the cleanest answer in 2026 for multi-tenant SaaS workloads where every query carries a tenant predicate. Reported GPU-accelerated index builds — secondary sources cite up to 4× faster HNSW construction (DB Gurus) — would extend the lead if confirmed by a Qdrant primary release.

Weaviate won the hybrid-search lane. With BlockMax WAND as the default BM25 indexer, the Weaviate Docs document filtering integrated so that keyword scoring runs only on relevant documents. Hybrid retrieval is now the default production pattern, not a checkbox. Weaviate is the engine that priced for that reality first.

Milvus won billion-scale. RaBitQ pushes index footprint and memory hard enough that Zilliz markets the upgrade as a cost story, not a speed story (Milvus Blog). The native BM25 path lets teams retire a separate Elasticsearch tier from the stack.

And the relational engines pulled retrieval back home. pgvector with pgvectorscale, Oracle 23ai, and Mongo Atlas Vector Search now ship native vector plus metadata SQL filtering (Actian Blog). For a Java team in banking, that means the Document Parsing And Extraction pipeline can dump embeddings into Postgres, write SQL with a vector predicate, and skip a separate vector-database tier entirely.

The “vector-as-a-feature” wave isn’t a threat to the dedicated engines. It’s a different buyer. Both lanes are growing.

The Losers

Anyone selling pure-ANN benchmarks is selling last year’s spec sheet. Recall on unfiltered HNSW was the 2023 conversation. The 2026 conversation is filtered recall, multi-tenant isolation, and hybrid-search latency under load.

Vendors that treat metadata as a payload blob — searchable only via brute-force scan after vector ranking — are about to feel it in procurement. The dedicated engines now expose typed, indexed, queryable scalar paths. Anything less reads as legacy.

Teams running pre-1.30 Weaviate clusters with the old WAND-based BM25 path still work but stop being competitive on latency. Teams on Milvus 2.5 or earlier need to plan the upgrade — it’s not a silent in-place jump (Milvus Docs).

Security & compatibility notes:

  • Milvus pre-2.6 CVE patch line: Recent Milvus 2.6.x releases address go-jose/v4 and Go runtime CVEs (CVE-2025-68121 CRITICAL, CVE-2026-27142, CVE-2026-25679, CVE-2026-34986). Older deployments should plan the upgrade.
  • Milvus 2.5 → 2.6 cross-version upgrade: Documented gotchas; Zilliz published a dedicated upgrade guide. Not a silent in-place upgrade.
  • Weaviate pre-1.30 BM25: Old WAND-based path still functional but no longer default; existing property indexes need a documented migration to take advantage of BlockMax WAND.
  • Qdrant pre-1.16 multitenancy: “One collection per tenant” pattern is now legacy; Tiered Multitenancy is the recommended pattern for mixed tenant sizes.

What Happens Next

Base case (most likely): Filterable indexes become table stakes through 2026. Every serious vector engine ships a filterable graph variant or a scalar index path. Hybrid search ships as default, not opt-in. Workloads with simple metadata predicates migrate to pgvector-class engines; workloads with multi-tenant isolation or graph-aware metadata stay on Qdrant, Weaviate, or Milvus. Signal to watch: Pinecone or another proprietary engine shipping a filterable-HNSW equivalent and pricing it as a default. Timeline: Through Q4 2026.

Bull case: GraphRAG and HybridRAG patterns push metadata filtering toward graph-aware predicates — entity, relationship type, document provenance (Neo4j Blog). The 2027 buying conversation is “filtered vector plus graph traversal in one query,” and the engines that got filterable HNSW right are the ones that ship it first. Signal: First production engine shipping native graph-aware metadata predicates alongside vector ANN. Timeline: 2027.

Bear case: SQL-native engines (pgvector, Oracle 23ai, Mongo Atlas) absorb the mid-market faster than dedicated engines can differentiate. Vector becomes a column type. The dedicated tier consolidates around billion-scale and multi-tenant edge cases only. Signal: Major enterprise RFPs naming Postgres-class engines as the default and dedicated vector databases as exceptions. Timeline: Late 2026 into 2027.

Frequently Asked Questions

Q: Which vector databases have the best metadata filtering capabilities in 2026? A: Qdrant 1.16 leads on high-cardinality structured prefilters and multi-tenant isolation. Weaviate 1.30 leads on hybrid (vector plus BM25) with BlockMax WAND. Milvus 2.6 leads on billion-scale and rich scalar index types — BitMap, JSON Path, Geometry/RTREE. pgvector with pgvectorscale leads on SQL-native filtering.

Q: How are Qdrant payload indexes and Weaviate BlockMax WAND changing filtered vector search? A: Both push metadata work to index build time, not query time. Qdrant’s filterable HNSW and ACORN handle weak-selectivity filters that broke 2024 engines. Weaviate’s BlockMax WAND, per the Weaviate Blog, cuts BM25 latency by up to 94% and runs keyword scoring only on filter-approved documents.

Q: Where is metadata filtering heading in 2026: structured filters, graph metadata, and SQL-vector convergence? A: Three directions at once. Structured scalar filters keep getting purpose-built indexes. Graph-aware metadata — entity, relationship type — moves into hybrid GraphRAG patterns ( Knowledge Graphs For RAG). SQL-vector convergence pulls the simpler workloads back into general-purpose databases.

The Bottom Line

The benchmark that matters in 2026 is filtered recall under tenant isolation, not raw ANN throughput. Three open-source engines already rebuilt for that reality, and the relational engines are pulling the long tail of the workload back into SQL. You’re either evaluating filterable indexes now or you’re paying retrieval-tier costs for a benchmark nobody runs anymore.

Disclaimer

This article discusses financial topics for educational purposes only. It does not constitute financial advice. Consult a qualified financial advisor before making investment decisions.

Stay ahead, Dan.

AI-assisted content, human-reviewed. Images AI-generated. Editorial Standards · Our Editors