Former-commit-id: 166ff3b7e998da253a2cfc1aaab8909bad262aac
What is Milvus
Milvus is an open source similarity search engine for massive-scale feature vectors. Built with heterogeneous computing architecture for the best cost efficiency. Searches over billion-scale vectors take only milliseconds with minimum computing resources.
For more detailed introduction of Milvus and its architecture, see Milvus overview.
Milvus provides stable Python, Java and C++ APIs.
Keep up-to-date with newest releases and latest updates by reading Milvus release notes.
Get started
Hardware requirements
| Component | Recommended configuration |
|---|---|
| CPU | Intel CPU Haswell or higher |
| GPU | NVIDIA Pascal series or higher |
| RAM | 8 GB or more (depends on data size) |
| Hard drive | SATA 3.0 SSD or higher |
Install using docker
Using Docker to install Milvus is a breeze. See the Milvus install guide for details.
Build from source
Software requirements
- Ubuntu 18.04 or higher
- CMake 3.14 or higher
- CUDA 10.0 or higher
- NVIDIA driver 418 or higher
Compilation
Step 1 Install dependencies
$ cd [Milvus sourcecode path]/core
$ ./ubuntu_build_deps.sh
Step 2 Build
$ cd [Milvus sourcecode path]/core
$ ./build.sh -t Debug
or
$ ./build.sh -t Release
When the build is completed, all the stuff that you need in order to run Milvus will be installed under [Milvus root path]/core/milvus.
Launch Milvus server
$ cd [Milvus root path]/core/milvus
Add lib/ directory to LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/milvus/lib
Then start Milvus server:
$ cd scripts
$ ./start_server.sh
To stop Milvus server, run:
$ ./stop_server.sh
To edit Milvus settings in conf/server_config.yaml and conf/log_config.conf, please read Milvus Configuration.
Try your first Milvus program
Run Python example code
Please read this page for how to run an example program using Python SDK.
Run Java example code
Make sure Java 8 or higher is already installed.
Refer to this link for the example code.
Run C++ example code
# Run Milvus C++ example
$ cd [Milvus root path]/core/milvus/bin
$ ./sdk_simple
Roadmap
Please read our roadmap to learn about upcoming features.
Contribution guidelines
Contributions are welcomed and greatly appreciated. Please read our contribution guidelines for detailed contribution workflow. This project adheres to the code of conduct of Milvus. By participating, you are expected to uphold this code.
We use GitHub issues to track issues and bugs. For general questions and public discussions, please join our community.
Join our community
To connect with other users and contributors, welcome to join our slack channel.
Thanks
We greatly appreciate the help of the following people.
- akihoni found a broken link and a small typo in the README file.
