Commit b63b3601 authored by Jin Hai's avatar Jin Hai Committed by GitHub
Browse files

Merge pull request #147 from jielinxu/branch-0.5.1

[skip ci] Update Python example code link

Former-commit-id: 5c31921307a3207489509780603f570a2ee946b3
parents 37a88fb7 77bf2008
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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

+1 −1
Original line number Diff line number Diff line
@@ -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)                                                          |
+18 −148
Original line number Diff line number Diff line
@@ -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.

Keep up-to-date with newest releases and latest updates by reading Milvus [release notes](https://milvus.io/docs/en/release/v0.5.0/).

- 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
For more detailed introduction of Milvus and its architecture, see [Milvus overview](https://www.milvus.io/docs/en/aboutmilvus/overview/).

  Milvus can be easily installed in a few steps and enables you to exclusively focus on feature vectors. 
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. 

- 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

| 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
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).

- 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

Make sure [Python 3.5](https://www.python.org/downloads/) or higher is already installed and in use.
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). 

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.

Refer to [this link](https://github.com/milvus-io/milvus-sdk-java/tree/master/examples) for the example code.

## Milvus roadmap
## 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

install.md

0 → 100644
+53 −0
Original line number Diff line number Diff line
# 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
```