Vector Search in the Real World: How to Filter Efficiently Without Killing Recall
May 12, 2025Chris Gao and Patrick Xu

Summary
This post details how Milvus and Zilliz Cloud implement optimizations for efficient metadata filtering during vector searches. It covers graph index optimization using the Alpha strategy and dynamic fallback to brute-force scans for highly selective filters. It also introduces metadata-aware indexing with specialized subgraphs (column graphs) and iterative filtering inspired by VBase, which processes data in batches to reduce filter operation costs. Additionally, it describes external filtering, a client-side SDK solution for hybrid data systems that reverses the traditional workflow by performing vector search first and then applying custom filters to batches of candidates.
More from the AI Data Storage Engine trail
- Milvus Snapshots: Point-in-Time Collection Views Without Copying Data
- Announcing Milvus 3.0: Lake-Native Vector Search and a More Powerful Retrieval Engine
- How to Recover Milvus Data After etcd Corruption Without a Backup
- Open Tag: An Open-Source Claude Tag for Claude Code and Codex
- How Force Merge Compaction Nearly Doubled Milvus Search QPS