milvus/scripts
FluorineDog 88f5642603
Add plan proto and support basic boolean expr parser (#5088)
**What type of PR is this?**
- [x] Feature

**What this PR does / why we need it:**
This PR supports boolean expression as DSL.
1. The goal of this PR is to support predicates
    like `A > 3 && not B < 5 or C in [1, 2, 3]`. 
2. Defines `plan.proto`, as Intermediate Representation (IR) 
    used between go and cpp. 
3. Support expr parser, convert predicate expr to IR
    in proxynode, while doing static check there
4. Support IR to AST in cpp, enable the execution
2021-04-29 08:48:06 +00:00
..
check_proto_product.sh Add the check of C++ code in the CI progress 2020-11-18 10:07:05 +08:00
core_build.sh Reopen segment test assertion 2020-11-25 16:24:57 +08:00
cwrapper_build.sh Add cache for thirdparty files cache 2020-12-08 18:51:07 +08:00
cwrapper_rocksdb_build.sh Modify rocksdb compilation 2021-01-14 15:12:08 +08:00
devcontainer.sh Add build option in devcontainer.sh 2021-02-26 11:37:03 +08:00
gofmt.sh Fix go format bug 2021-01-05 14:20:45 +08:00
install_deps.sh Provide install dependencies for Ubuntu and CentOS (#5076) 2021-04-28 14:46:18 +08:00
proto_gen_go.sh Add plan proto and support basic boolean expr parser (#5088) 2021-04-29 08:48:06 +00:00
README.md Add cpplint and optimize the check of c++ code 2020-11-23 19:57:05 +08:00
run_cpp_unittest.sh Fix bug: address already used 2020-12-07 15:22:20 +08:00
run_docker.sh Update milvus project name (#5032) 2021-04-26 13:59:28 +08:00
run_go_codecov.sh [skip ci]Add go code coverage (#5024) 2021-04-24 15:10:24 +08:00
run_go_unittest.sh Update masterservice unittest 2021-03-05 20:41:34 +08:00
start.sh Adjust the DropIndex logic of the indexservice 2021-04-16 15:37:13 +08:00
stop.sh Add start.sh and stop.sh, remove them later 2021-02-05 14:31:40 +08:00

Compile and install milvus-dustributed

Environment

    OS: Ubuntu 18.04
    go1.15
    cmake: >=3.16
    gcc 7.5

Install dependencies

    sudo apt install -y g++ gcc make libssl-dev zlib1g-dev libboost-regex-dev \
    libboost-program-options-dev libboost-system-dev libboost-filesystem-dev \
    libboost-serialization-dev python3-dev libboost-python-dev libcurl4-openssl-dev gfortran libtbb-dev

    export GO111MODULE=on
    go get github.com/golang/protobuf/protoc-gen-go@v1.3.2

Install OpenBlas library

    wget https://github.com/xianyi/OpenBLAS/archive/v0.3.9.tar.gz && \
    tar zxvf v0.3.9.tar.gz && cd OpenBLAS-0.3.9 && \
    make TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="-O3 -g -fPIC" FCOMMON_OPT="-O3 -g -fPIC -frecursive" NMAX="NUM_THREADS=128" LIBPREFIX="libopenblas" LAPACKE="NO_LAPACKE=1" INTERFACE64=0 NO_STATIC=1 && \
    make PREFIX=/usr install

Compile

Generate the go files from proto file

    make check-proto-product

Check code specifications

    make verifiers

Compile

    make all

Install docker-compose

refer: https://docs.docker.com/compose/install/

    sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    docker-compose --version

Start service

    cd deployments
    docker-compose up -d

Run unittest

    make unittest