diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 475387c319..1ff37372db 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,7 +28,7 @@ Contributions to Milvus fall into the following categories. If you have improvements to Milvus, send us your pull requests! For those just getting started, see [GitHub workflow](#github-workflow). -The Milvus team members will review your pull requests, and once it is accepted, it will be given a `ready to merge` label. This means we are working on submitting your pull request to the internal repository. After the change has been submitted internally, your pull request will be merged automatically on GitHub. +The Milvus team members will review your pull requests, and once it is accepted, the status of the projects to which it is associated will be changed to **Reviewer approved**. This means we are working on submitting your pull request to the internal repository. After the change has been submitted internally, your pull request will be merged automatically on GitHub. ### GitHub workflow diff --git a/NOTICE.md b/NOTICE.md index 40ea77d3b7..018e2b80e0 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -25,6 +25,6 @@ | libunwind | [MIT](https://github.com/libunwind/libunwind/blob/master/LICENSE) | | gperftools | [BSD 3-Clause](https://github.com/gperftools/gperftools/blob/master/COPYING) | | grpc | [Apache 2.0](https://github.com/grpc/grpc/blob/master/LICENSE) | -| EASYLOGGINGPP | [MIT](https://github.com/zuhd-org/easyloggingpp/blob/master/LICENSEhttps://github.com/zuhd-org/easyloggingpp/blob/master/LICENSE) | +| EASYLOGGINGPP | [MIT](https://github.com/zuhd-org/easyloggingpp/blob/master/LICENSE) | | Json | [MIT](https://github.com/nlohmann/json/blob/develop/LICENSE.MIT) | diff --git a/README.md b/README.md index 884ddb01ca..d5c7651eb6 100644 --- a/README.md +++ b/README.md @@ -8,154 +8,29 @@ ![Release](https://img.shields.io/badge/release-v0.5.0-orange) ![Release_date](https://img.shields.io/badge/release_date-October-yellowgreen) -- [Slack Community](https://join.slack.com/t/milvusio/shared_invite/enQtNzY1OTQ0NDI3NjMzLWNmYmM1NmNjOTQ5MGI5NDhhYmRhMGU5M2NhNzhhMDMzY2MzNDdlYjM5ODQ5MmE3ODFlYzU3YjJkNmVlNDQ2ZTk) -- [Twitter](https://twitter.com/milvusio) -- [Facebook](https://www.facebook.com/io.milvus.5) -- [Blog](https://www.milvus.io/blog/) -- [CSDN](https://zilliz.blog.csdn.net/) -- [中文官网](https://www.milvus.io/zh-CN/) - - -# Welcome to Milvus +[中文版](README_CN.md) ## 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. -Milvus provides stable Python, Java and C++ APIs. +For more detailed introduction of Milvus and its architecture, see [Milvus overview](https://www.milvus.io/docs/en/aboutmilvus/overview/). -Keep up-to-date with newest releases and latest updates by reading Milvus [release notes](https://milvus.io/docs/en/release/v0.5.0/). +Milvus provides stable [Python](https://pypi.org/project/pymilvus/), [Java](https://milvus-io.github.io/milvus-sdk-java/javadoc/io/milvus/client/package-summary.html) and C++ APIs. -- Heterogeneous computing - - Milvus is built with heterogeneous computing architecture for the best performance and cost efficiency. - -- Multiple indexes - - Milvus supports a variety of indexing types that employs quantization, tree-based, and graph indexing techniques. - -- Intelligent resource management - - Milvus automatically adapts search computation and index building processes based on your datasets and available resources. - -- Horizontal scalability - - Milvus supports online / offline expansion to scale both storage and computation resources with simple commands. - -- High availability - - Milvus is integrated with Kubernetes framework so that all single point of failures could be avoided. - -- High compatibility - - Milvus is compatible with almost all deep learning models and major programming languages such as Python, Java and C++, etc. - -- Ease of use - - Milvus can be easily installed in a few steps and enables you to exclusively focus on feature vectors. - -- Visualized monitor - - You can track system performance on Prometheus-based GUI monitor dashboards. - -## Architecture - -![Milvus_arch](https://github.com/milvus-io/docs/blob/master/assets/milvus_arch.png) +Keep up-to-date with newest releases and latest updates by reading Milvus [release notes](https://www.milvus.io/docs/en/release/v0.5.0/). ## Get started -### Hardware requirements +See the [Milvus install guide](https://www.milvus.io/docs/en/userguide/install_milvus/) for using Docker containers. To install Milvus from source code, see [build from source](install.md). -| 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 - -Use Docker to install Milvus is a breeze. See the [Milvus install guide](https://milvus.io/docs/en/userguide/install_milvus/) 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 - -```shell -$ cd [Milvus sourcecode path]/core -$ ./ubuntu_build_deps.sh -``` - -##### Step 2 Build - -```shell -$ 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 - -```shell -$ 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: - -```shell -$ ./stop_server.sh -``` - -To edit Milvus settings in `conf/server_config.yaml` and `conf/log_config.conf`, please read [Milvus Configuration](https://github.com/milvus-io/docs/blob/master/reference/milvus_config.md). +To edit Milvus settings, read [Milvus configuration](https://www.milvus.io/docs/en/reference/milvus_config/). ### Try your first Milvus program -#### Run Python example code +Try running a program with Milvus using [Python](https://www.milvus.io/docs/en/userguide/example_code/) or [Java example code](https://github.com/milvus-io/milvus-sdk-java/tree/master/examples). -Make sure [Python 3.5](https://www.python.org/downloads/) or higher is already installed and in use. - -Install Milvus Python SDK. - -```shell -# Install Milvus Python SDK -$ pip install pymilvus==0.2.3 -``` - -Create a new file `example.py`, and add [Python example code](https://github.com/milvus-io/pymilvus/blob/master/examples/AdvancedExample.py) to it. - -Run the example code. - -```shell -# Run Milvus Python example -$ python3 example.py -``` - -#### Run C++ example code +To use C++ example code, use below command: ```shell # Run Milvus C++ example @@ -163,14 +38,9 @@ $ python3 example.py $ ./sdk_simple ``` -#### Run Java example code -Make sure Java 8 or higher is already installed. +## Roadmap -Refer to [this link](https://github.com/milvus-io/milvus-sdk-java/tree/master/examples) for the example code. - -## Milvus roadmap - -Please read our [roadmap](https://milvus.io/docs/en/roadmap/) to learn about upcoming features. +Please read our [roadmap](https://milvus.io/docs/en/roadmap/) for upcoming features. ## Contribution guidelines @@ -178,9 +48,9 @@ Contributions are welcomed and greatly appreciated. Please read our [contributio We use [GitHub issues](https://github.com/milvus-io/milvus/issues/new/choose) to track issues and bugs. For general questions and public discussions, please join our community. -## Join the Milvus community +## Join our community -To connect with other users and contributors, welcome to join our [slack channel](https://join.slack.com/t/milvusio/shared_invite/enQtNzY1OTQ0NDI3NjMzLWNmYmM1NmNjOTQ5MGI5NDhhYmRhMGU5M2NhNzhhMDMzY2MzNDdlYjM5ODQ5MmE3ODFlYzU3YjJkNmVlNDQ2ZTk). +To connect with other users and contributors, welcome to join our [Slack channel](https://join.slack.com/t/milvusio/shared_invite/enQtNzY1OTQ0NDI3NjMzLWNmYmM1NmNjOTQ5MGI5NDhhYmRhMGU5M2NhNzhhMDMzY2MzNDdlYjM5ODQ5MmE3ODFlYzU3YjJkNmVlNDQ2ZTk). ## Thanks @@ -190,17 +60,17 @@ We greatly appreciate the help of the following people. ## Resources -[Milvus official website](https://www.milvus.io) +- [Milvus.io](https://www.milvus.io) -[Milvus docs](https://www.milvus.io/docs/en/userguide/install_milvus/) +- [Milvus bootcamp](https://github.com/milvus-io/bootcamp) -[Milvus bootcamp](https://github.com/milvus-io/bootcamp) +- [Milvus Medium](https://medium.com/@milvusio) -[Milvus blog](https://www.milvus.io/blog/) +- [Milvus CSDN](https://zilliz.blog.csdn.net/) -[Milvus CSDN](https://zilliz.blog.csdn.net/) +- [Milvus Twitter](https://twitter.com/milvusio) -[Milvus roadmap](https://milvus.io/docs/en/roadmap/) +- [Milvus Facebook](https://www.facebook.com/io.milvus.5) ## License diff --git a/install.md b/install.md new file mode 100644 index 0000000000..f869520ba3 --- /dev/null +++ b/install.md @@ -0,0 +1,53 @@ +# Install Milvus from Source Code + +## 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 + +```shell +$ cd [Milvus sourcecode path]/core +$ ./ubuntu_build_deps.sh +``` + +### Step 2 Build + +```shell +$ 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 + +```shell +$ 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: + +```shell +$ ./stop_server.sh +```