Milvus is an embeddings similarity search engine that is highly flexible, reliable, and blazing fast. It supports adding, deleting, updating, and near-real-time search of embeddings on a scale of trillion bytes. By encapsulating multiple widely adopted index libraries, such as Faiss, NMSLIB, and Annoy, it provides a comprehensive set of intuitive APIs, allowing you to choose index types based on your scenario. By supporting filtering of scalar data, Milvus takes the recall rate even higher and adds more flexibility to your search.
Milvus runs on the client-server model.
The Milvus server comprises two parts: Milvus Core and Meta Store.
- Milvus Core stores and manages embeddings and scalar data.
- Meta Store stores and manages metadata in SQLite for testing or MySQL for production.
- On the client side, Milvus provides SDKs in Python, Java, Go, and C++, as well as RESTful APIs.
For now, the Milvus server runs on a standalone node. For scenarios involving large datasets or requiring high concurrency, check out Mishards, our cluster sharding middleware that is currently under development.
Milvus has been used in hundreds of organizations and institutions worldwide mainly in the following scenarios:
- Image, video, and audio search.
- Text search, recommender system, interactive question answering system, and other text search fields.
- Drug discovery, genetic screening, and other biomedical fields.
See Scenarios for more information.
|Compatible with mainstream libraries, metrics, and tooling||
|Near-real-time (NRT) search||Inserted datasets are searchable in one second.|
|Scalar field filtering (coming soon)||
Milvus comes in two distributions: CPU-only Milvus and GPU-enabled Milvus.
- CPU-only Milvus only supports searching after index building completes, and hence is applicable to static datasets.
- GPU-enabled Milvus supports GPU acceleration for searching and index building: It supports searching and index building at the same time to improve query efficiency, and hence is applicable to dynamic datasets.
If your GPU supports CUDA, then you can install GPU-enabled Milvus to achieve much higher search performance in large-scale datasets.
For more information, see Milvus Distributions.
Before joining our developer community, please take some time reading our code contribution guidelines Contribute to Milvus.