At a glance
| Product type | Standalone open source vector database (Standalone or Distributed) plus Milvus Lite embedded library |
| Vector index types | FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, IVF_RABITQ, HNSW (SQ, PQ, PRQ), DISKANN, SCANN, AISAQ, GPU_CAGRA, GPU_IVF |
| Hybrid search | Yes: BM25 full-text (sparse) plus dense vectors; multi-vector hybrid search |
| Metadata filtering | Yes: scalar fields and JSON with INVERTED, BITMAP, STL_SORT and Trie indexes |
| Embedding integration | Function module calling external providers (OpenAI, Cohere, Voyage AI, Bedrock, Vertex AI, Hugging Face) |
| Scaling and multitenancy | Distributed mode on Kubernetes; tenancy by database, collection, partition or partition key |
| Deployment (managed or self-hosted) | Self-hosted; managed option is the separate Zilliz Cloud service |
| Licensing and pricing model | Apache 2.0, free; infrastructure costs only |
Milvus suits teams that expect large vector collections and want an open source database they can scale out on Kubernetes, with fine control over index types. It is free to run, but the distributed mode has several components to operate; teams that want the same engine without the operations work can use Zilliz Cloud.
Overview
Milvus is an open source vector database project under the LF AI & Data Foundation, released under Apache 2.0. Zilliz is its major contributor and sells the managed service Zilliz Cloud, which is a separate commercial product. Milvus runs in three modes: Milvus Lite, a lightweight library installed with pip for quickstarts and notebooks; Standalone, a single-machine server; and Distributed, a Kubernetes-native cluster that scales horizontally. The 3.0 line (3.0.0 on 29 July 2026) was current, with 3.0.5 released on 30 October 2026.
Milvus documents a long list of vector indexes: FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, IVF_RABITQ, HNSW and its SQ, PQ and PRQ variants, DISKANN, SCANN, AISAQ and GPU indexes such as GPU_CAGRA, plus binary and sparse indexes and scalar indexes for filtering. A built-in BM25 function turns raw text into sparse vectors for full-text search that can be combined with dense search, and a Function module can call external embedding providers. Release 3.0 added External Collections over lakehouse files such as Parquet and online schema changes.
Key features
- Three deployment modes from one API: Milvus Lite (pip-installed library), Standalone server and Distributed on Kubernetes
- Many vector index types: FLAT, IVF variants, HNSW variants, DISKANN, SCANN, AISAQ and GPU indexes (GPU_CAGRA, GPU_IVF_FLAT, GPU_IVF_PQ)
- BM25 full-text search through a built-in function that creates sparse vectors from raw text, combinable with dense vector search
- Scalar indexes (INVERTED, BITMAP, STL_SORT, Trie) for fast metadata filtering, including JSON fields
- Four multi-tenancy strategies: database, collection, partition or partition key, the last scaling to millions of tenants
- Function module that calls external embedding providers such as OpenAI, Cohere, Voyage AI, AWS Bedrock and Vertex AI
- Milvus 3.0 External Collections that query Parquet and other lakehouse data in place, and online schema changes
Integrations and ecosystem
Pros and cons
Pros
- Apache 2.0 licence under a vendor-neutral foundation
- The broadest documented index choice in this category, including disk-based and GPU indexes
- Same API from a pip-installed Lite library up to a distributed cluster
- Built-in BM25 full-text search and external embedding functions
Cons
- Distributed mode depends on object storage, etcd and a WAL service (Kafka, Pulsar or Woodpecker), which needs operations skill
- Index choice and tuning add decisions that simpler managed services hide
- Partition and partition key tenancy do not support RBAC, so strong per-tenant isolation needs databases or collections
- No first-party managed service from the project itself; managed Milvus comes from Zilliz Cloud
Pricing
Milvus is free open source software under the Apache 2.0 licence, with no paid edition of the project itself. You pay only for the infrastructure you run it on. The fully managed version is a separate commercial product, Zilliz Cloud, run by Zilliz.
Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.
Who it is best for
Engineering teams that need to self-host large vector collections, want control over index types including disk and GPU indexes, and can run Kubernetes.
Typical use cases
- Large-scale similarity search over hundreds of millions of embeddings
- Hybrid BM25 and semantic search for RAG pipelines
- Image, video and multimodal retrieval with GPU-accelerated indexes
- Multi-tenant applications using partition-key tenancy
- Querying lakehouse Parquet data in place with External Collections (3.0)
Who should look elsewhere
- Teams that want a managed service without operating clusters: see Zilliz Cloud (managed Milvus) or Pinecone.
- Small applications whose vectors fit comfortably in an existing PostgreSQL database with pgvector.
Verdict
Milvus is the most configurable open source vector database in this group, with many index types, disk and GPU options and a path from an embedded library to a distributed cluster. That flexibility comes with operational weight in distributed mode, so smaller teams may prefer Standalone, or the managed Zilliz Cloud service built on the same engine.
Frequently asked questions
What is the difference between Milvus and Zilliz Cloud?
Milvus is the Apache 2.0 open source project under the LF AI & Data Foundation that you run yourself. Zilliz Cloud is a separate commercial managed service from Zilliz, the major Milvus contributor, built on Milvus and sold with Free, Serverless, Dedicated and BYOC options.
Is Milvus Lite an embedded database?
Yes. Milvus Lite is a lightweight version installed with pip that runs inside your Python process, intended for quickstarts and prototypes. Standalone and Distributed are separate server deployments.
Which index types does Milvus support?
For float vectors the documentation lists FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, IVF_RABITQ, HNSW and its SQ, PQ and PRQ variants, DISKANN, SCANN, AISAQ and GPU indexes including GPU_CAGRA, plus binary and sparse vector indexes.
Does Milvus support keyword search?
Yes. A built-in BM25 function converts raw text into sparse vectors for full-text search, and those results can be combined with dense vector search.
Sources
- Milvus GitHub repository (licence, deployment modes)
- Milvus index explained (documentation)
- Milvus release notes
- Milvus full text search
- Milvus multi-tenancy strategies
- Milvus embedding function overview
Checked November 2026.
Listed in: Vector Databases & AI Search.
How we research reviews and what star ratings mean: our editorial method.