mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-12-05 05:18:52 +08:00
88f5642603
**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 |
||
---|---|---|
.. | ||
check_proto_product.sh | ||
core_build.sh | ||
cwrapper_build.sh | ||
cwrapper_rocksdb_build.sh | ||
devcontainer.sh | ||
gofmt.sh | ||
install_deps.sh | ||
proto_gen_go.sh | ||
README.md | ||
run_cpp_unittest.sh | ||
run_docker.sh | ||
run_go_codecov.sh | ||
run_go_unittest.sh | ||
start.sh | ||
stop.sh |
Compile and install milvus-dustributed
Environment
OS: Ubuntu 18.04
go:1.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