mirror of https://github.com/milvus-io/milvus.git
* add read/write lock
* change compact to ddl queue
* add api to get vector data
* add flush / merge / compact lock
* add api to get vector data
* add data size for table info
* add db recovery test
* add data_size check
* change file name to uppercase
Signed-off-by: jinhai <hai.jin@zilliz.com>
* update wal flush_merge_compact_mutex_
* update wal flush_merge_compact_mutex_
* change requirement
* change requirement
* upd requirement
* add logging
* add logging
* add logging
* add logging
* add logging
* add logging
* add logging
* add logging
* add logging
* delete part
* add all size checks
* fix bug
* update faiss get_vector_by_id
* add get_vector case
* update get vector by id
* update server
* fix DBImpl
* attempting to fix #1268
* lint
* update unit test
* fix #1259
* issue 1271 fix wal config
* update
* fix cases
Signed-off-by: del.zhenwu <zhenxiang.li@zilliz.com>
* update read / write error message
* update read / write error message
* [skip ci] get vectors by id from raw files instead faiss
* [skip ci] update FilesByType meta
* update
* fix ci error
* update
* lint
* Hide partition_name parameter
* Remove douban pip source
Signed-off-by: zhenwu <zw@zilliz.com>
* Update epsilon value in test cases
Signed-off-by: zhenwu <zw@zilliz.com>
* Add default partition
* Caiyd crud (#1313)
* fix clang format
Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
* fix unittest build error
Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
* add faiss_bitset_test
Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
* avoid user directly operate partition table
* fix has table bug
* Caiyd crud (#1323)
* fix clang format
Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
* fix unittest build error
Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
* use compile option -O3
Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
* update faiss_bitset_test.cpp
Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
* change open flags
* change OngoingFileChecker to static instance
* mark ongoing files when applying deletes
* update clean up with ttl
* fix centos ci
* update
* lint
* update partition
Signed-off-by: zhenwu <zw@zilliz.com>
* update delete and flush to include partitions
* update
* Update cases
Signed-off-by: zhenwu <zw@zilliz.com>
* Fix test cases crud (#1350)
* fix order
* add wal case
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* fix wal case
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* fix wal case
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* fix wal case
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* fix invalid operation issue
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* fix invalid operation issue
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* fix bug
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* fix bug
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* crud fix
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* crud fix
Signed-off-by: sahuang <xiaohaix@student.unimelb.edu.au>
* add table info test cases
Signed-off-by: Xiaohai Xu <xiaohaix@student.unimelb.edu.au>
* fix case
Signed-off-by: Xiaohai Xu <xiaohaix@student.unimelb.edu.au>
* fix case
Signed-off-by: Xiaohai Xu <xiaohaix@student.unimelb.edu.au>
* fix cases
Signed-off-by: Xiaohai Xu <xiaohaix@student.unimelb.edu.au>
* fix cases
Signed-off-by: Xiaohai Xu <xiaohaix@student.unimelb.edu.au>
* fix cases
Signed-off-by: Xiaohai Xu <xiaohaix@student.unimelb.edu.au>
* fix cases
Signed-off-by: Xiaohai Xu <xiaohaix@student.unimelb.edu.au>
* fix cases
Signed-off-by: Xiaohai Xu <xiaohaix@student.unimelb.edu.au>
Signed-off-by: JinHai-CN <hai.jin@zilliz.com>
* merge cases
Signed-off-by: zhenwu <zw@zilliz.com>
* Shengjun (#1349)
* Add GPU sharing solution on native Kubernetes (#1102)
* run hadolint with reviewdog
* add LINCENSE in Dockerfile
* run hadolint with reviewdog
* Reporter of reviewdog command is "github-pr-check"
* format Dockerfile
* ignore DL3007 in hadolint
* clean up old docker images
* Add GPU sharing solution on native Kubernetes
* nightly test mailer
* Fix http server bug (#1096)
* refactoring(create_table done)
* refactoring
* refactor server delivery (insert done)
* refactoring server module (count_table done)
* server refactor done
* cmake pass
* refactor server module done.
* set grpc response status correctly
* format done.
* fix redefine ErrorMap()
* optimize insert reducing ids data copy
* optimize grpc request with reducing data copy
* clang format
* [skip ci] Refactor server module done. update changlog. prepare for PR
* remove explicit and change int32_t to int64_t
* add web server
* [skip ci] add license in web module
* modify header include & comment oatpp environment config
* add port configure & create table in handler
* modify web url
* simple url complation done & add swagger
* make sure web url
* web functionality done. debuging
* add web unittest
* web test pass
* add web server port
* add web server port in template
* update unittest cmake file
* change web server default port to 19121
* rename method in web module & unittest pass
* add search case in unittest for web module
* rename some variables
* fix bug
* unittest pass
* web prepare
* fix cmd bug(check server status)
* update changlog
* add web port validate & default set
* clang-format pass
* add web port test in unittest
* add CORS & redirect root to swagger ui
* add web status
* web table method func cascade test pass
* add config url in web module
* modify thirdparty cmake to avoid building oatpp test
* clang format
* update changlog
* add constants in web module
* reserve Config.cpp
* fix constants reference bug
* replace web server with async module
* modify component to support async
* format
* developing controller & add test clent into unittest
* add web port into demo/server_config
* modify thirdparty cmake to allow build test
* remove unnecessary comment
* add endpoint info in controller
* finish web test(bug here)
* clang format
* add web test cpp to lint exclusions
* check null field in GetConfig
* add macro RETURN STATUS DTo
* fix cmake conflict
* fix crash when exit server
* remove surplus comments & add http param check
* add uri /docs to direct swagger
* format
* change cmd to system
* add default value & unittest in web module
* add macros to judge if GPU supported
* add macros in unit & add default in index dto & print error message when bind http port fail
* format (fix #788)
* fix cors bug (not completed)
* comment cors
* change web framework to simple api
* comments optimize
* change to simple API
* remove comments in controller.hpp
* remove EP_COMMON_CMAKE_ARGS in oatpp and oatpp-swagger
* add ep cmake args to sqlite
* clang-format
* change a format
* test pass
* change name to
* fix compiler issue(oatpp-swagger depend on oatpp)
* add & in start_server.h
* specify lib location with oatpp and oatpp-swagger
* add comments
* add swagger definition
* [skip ci] change http method options status code
* remove oatpp swagger(fix #970)
* remove comments
* check Start web behavior
* add default to cpu_cache_capacity
* remove swagger component.hpp & /docs url
* remove /docs info
* remove /docs in unittest
* remove space in test rpc
* remove repeate info in CHANGLOG
* change cache_insert_data default value as a constant
* [skip ci] Fix some broken links (#960)
* [skip ci] Fix broken link
* [skip ci] Fix broken link
* [skip ci] Fix broken link
* [skip ci] Fix broken links
* fix issue 373 (#964)
* fix issue 373
* Adjustment format
* Adjustment format
* Adjustment format
* change readme
* #966 update NOTICE.md (#967)
* remove comments
* check Start web behavior
* add default to cpu_cache_capacity
* remove swagger component.hpp & /docs url
* remove /docs info
* remove /docs in unittest
* remove space in test rpc
* remove repeate info in CHANGLOG
* change cache_insert_data default value as a constant
* adjust web port cofig place
* rename web_port variable
* change gpu resources invoke way to cmd()
* set advanced config name add DEFAULT
* change config setting to cmd
* modify ..
* optimize code
* assign TableDto' count default value 0 (fix #995)
* check if table exists when show partitions (fix #1028)
* check table exists when drop partition (fix #1029)
* check if partition name is legal (fix #1022)
* modify status code when partition tag is illegal
* update changlog
* add info to /system url
* add binary index and add bin uri & handler method(not completed)
* optimize http insert and search time(fix #1066) | add binary vectors support(fix #1067)
* fix test partition bug
* fix test bug when check insert records
* add binary vectors test
* add default for offset and page_size
* fix uinttest bug
* [skip ci] remove comments
* optimize web code for PR comments
* add new folder named utils
* check offset and pagesize (fix #1082)
* improve error message if offset or page_size is not legal (fix #1075)
* add log into web module
* update changlog
* check gpu sources setting when assign repeated value (fix #990)
* update changlog
* clang-format pass
* add default handler in http handler
* [skip ci] improve error msg when check gpu resources
* change check offset way
* remove func IsIntStr
* add case
* change int32 to int64 when check number str
* add log in we module(doing)
* update test case
* add log in web controller
Co-authored-by: jielinxu <52057195+jielinxu@users.noreply.github.com>
Co-authored-by: JackLCL <53512883+JackLCL@users.noreply.github.com>
Co-authored-by: Cai Yudong <yudong.cai@zilliz.com>
* Filtering for specific paths in Jenkins CI (#1107)
* run hadolint with reviewdog
* add LINCENSE in Dockerfile
* run hadolint with reviewdog
* Reporter of reviewdog command is "github-pr-check"
* format Dockerfile
* ignore DL3007 in hadolint
* clean up old docker images
* Add GPU sharing solution on native Kubernetes
* nightly test mailer
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Fix Filtering for specific paths in Jenkins CI bug (#1109)
* run hadolint with reviewdog
* add LINCENSE in Dockerfile
* run hadolint with reviewdog
* Reporter of reviewdog command is "github-pr-check"
* format Dockerfile
* ignore DL3007 in hadolint
* clean up old docker images
* Add GPU sharing solution on native Kubernetes
* nightly test mailer
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Fix Filtering for specific paths in Jenkins CI bug (#1110)
* run hadolint with reviewdog
* add LINCENSE in Dockerfile
* run hadolint with reviewdog
* Reporter of reviewdog command is "github-pr-check"
* format Dockerfile
* ignore DL3007 in hadolint
* clean up old docker images
* Add GPU sharing solution on native Kubernetes
* nightly test mailer
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Don't skip ci when triggered by a time (#1113)
* run hadolint with reviewdog
* add LINCENSE in Dockerfile
* run hadolint with reviewdog
* Reporter of reviewdog command is "github-pr-check"
* format Dockerfile
* ignore DL3007 in hadolint
* clean up old docker images
* Add GPU sharing solution on native Kubernetes
* nightly test mailer
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Don't skip ci when triggered by a time
* Don't skip ci when triggered by a time
* Set default sending to Milvus Dev mail group (#1121)
* run hadolint with reviewdog
* add LINCENSE in Dockerfile
* run hadolint with reviewdog
* Reporter of reviewdog command is "github-pr-check"
* format Dockerfile
* ignore DL3007 in hadolint
* clean up old docker images
* Add GPU sharing solution on native Kubernetes
* nightly test mailer
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Test filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* Filtering for specific paths in Jenkins CI
* No skip ci when triggered by a time
* Don't skip ci when triggered by a time
* Set default sending to Milvus Dev
* Support hnsw (#1131)
* add hnsw
* add config
* format...
* format..
* Remove test.template (#1129)
* Update framework
* remove files
* Remove files
* Remove ann-acc cases && Update java-sdk cases
* change cn to en
* [skip ci] remove doc test
* [skip ci] change cn to en
* Case stability
* Add mail notification when test failed
* Add main notification
* Add main notification
* gen milvus instance from utils
* Distable case with multiprocess
* Add mail notification when nightly test failed
* add milvus handler param
* add http handler
* Remove test.template
Co-authored-by: quicksilver <zhifeng.zhang@zilliz.com>
* Add doc for the RESTful API / Update contributor number in Milvus readme (#1100)
* [skip ci] Update contributor number.
* [skip ci] Add RESTful API doc.
* [skip ci] Some updates.
* [skip ci] Change port to 19121.
* [skip ci] Update README.md.
Update the descriptions for OPTIONS.
* Update README.md
Fix a typo.
* #1105 update error message when creating IVFSQ8H index without GPU resources (#1117)
* [skip ci] Update README (#1104)
* remove Nvidia owned files from faiss (#1136)
* #1135 remove Nvidia owned files from faiss
* Revert "#1135 remove Nvidia owned files from faiss"
This reverts commit
|
||
---|---|---|
.. | ||
build-support | ||
cmake | ||
examples | ||
grpc | ||
grpc-gen | ||
include | ||
interface | ||
CMakeLists.txt | ||
README.md | ||
build.sh |
README.md
Milvus C++ SDK
Get C++ SDK
If you compile Milvus from source, C++ SDK is already in [Milvus root path]/sdk
. If you install Milvus from Docker images, you need to download the whole sdk
folder to your host.
Requirements
CMake 3.14 or higher
Build C++ SDK
You must build the C++ SDK before using it:
# build C++ SDK
$ cd [Milvus root path]/sdk
$ ./build.sh
Try C++ example
You must have a running Milvus server to try the C++ example. Refer to Milvus Documentation to learn how to install and run a Milvus server.
Run C++ example:
# run Milvus C++ example
$ cd [Milvus root path]/sdk/cmake_build/examples/simple
$ ./sdk_simple
Create your own C++ client project
Create a folder for the project, and copy C++ SDK header and library files into it.
# create project folder
$ mkdir MyMilvusClient
$ cd MyMilvusClient
# copy necessary files
$ cp [Milvus root path]/sdk/cmake_build/libmilvus_sdk.so .
$ cp [Milvus root path]/sdk/include/MilvusApi.h .
$ cp [Milvus root path]/sdk/include/Status.h .
Create file main.cpp
in the project folder, and copy the following code into it:
#include "./MilvusApi.h"
#include "./Status.h"
int main() {
// connect to milvus server
std::shared_ptr<milvus::Connection> conn = milvus::Connection::Create();
milvus::ConnectParam param = {"127.0.0.1", "19530"};
conn->Connect(param);
// put your client code here
milvus::Connection::Destroy(conn);
return 0;
}
Create file CMakeLists.txt
in the project folder, and copy the following code into it:
cmake_minimum_required(VERSION 3.14)
project(test)
set(CMAKE_CXX_STANDARD 17)
add_executable(milvus_client main.cpp)
target_link_libraries(milvus_client
${PROJECT_SOURCE_DIR}/libmilvus_sdk.so
pthread)
Now there are 5 files in your project:
MyMilvusClient
|-CMakeLists.txt
|-main.cpp
|-libmilvus_sdk.so
|-MilvusApi.h
|-Status.h
Build the project:
$ mkdir cmake_build
$ cd cmake_build
$ cmake ..
$ make
Run your client program:
$ ./milvus_client