mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-07 19:31:51 +08:00
refine code
Former-commit-id: 9205f1d9bfcd3f4a48688b989cfe52b26dba29de
This commit is contained in:
parent
9d32c072e4
commit
f7a2ac7b00
@ -22,6 +22,8 @@ using namespace zilliz::vecwise::client;
|
|||||||
namespace {
|
namespace {
|
||||||
static const int32_t VEC_DIMENSION = 256;
|
static const int32_t VEC_DIMENSION = 256;
|
||||||
static const int64_t BATCH_COUNT = 1000;
|
static const int64_t BATCH_COUNT = 1000;
|
||||||
|
static const int64_t REPEAT_COUNT = 1;
|
||||||
|
static const int64_t TOP_K = 10;
|
||||||
|
|
||||||
static const std::string TEST_ATTRIB_NUM = "number";
|
static const std::string TEST_ATTRIB_NUM = "number";
|
||||||
static const std::string TEST_ATTRIB_COMMENT = "comment";
|
static const std::string TEST_ATTRIB_COMMENT = "comment";
|
||||||
@ -182,62 +184,66 @@ TEST(AddVector, CLIENT_TEST) {
|
|||||||
group.index_type = 0;
|
group.index_type = 0;
|
||||||
session.interface()->add_group(group);
|
session.interface()->add_group(group);
|
||||||
|
|
||||||
//prepare data
|
for(int64_t r = 0; r < REPEAT_COUNT; r++) {
|
||||||
CLIENT_LOG_INFO << "Preparing vectors...";
|
//prepare data
|
||||||
const int64_t count = BATCH_COUNT;
|
CLIENT_LOG_INFO << "Preparing vectors...";
|
||||||
VecTensorList tensor_list_1, tensor_list_2;
|
const int64_t count = BATCH_COUNT;
|
||||||
VecBinaryTensorList bin_tensor_list_1, bin_tensor_list_2;
|
int64_t offset = r*count*2;
|
||||||
BuildVectors(0, count, &tensor_list_1, &bin_tensor_list_1);
|
VecTensorList tensor_list_1, tensor_list_2;
|
||||||
BuildVectors(count, count*2, &tensor_list_2, &bin_tensor_list_2);
|
VecBinaryTensorList bin_tensor_list_1, bin_tensor_list_2;
|
||||||
|
BuildVectors(0 + offset, count + offset, &tensor_list_1, &bin_tensor_list_1);
|
||||||
|
BuildVectors(count + offset, count * 2 + offset, &tensor_list_2, &bin_tensor_list_2);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
//add vectors one by one
|
//add vectors one by one
|
||||||
{
|
{
|
||||||
server::TimeRecorder rc("Add " + std::to_string(count) + " vectors one by one");
|
server::TimeRecorder rc("Add " + std::to_string(count) + " vectors one by one");
|
||||||
for (int64_t k = 0; k < count; k++) {
|
for (int64_t k = 0; k < count; k++) {
|
||||||
std::string id;
|
std::string id;
|
||||||
tensor_list_1.tensor_list[k].uid = "";
|
tensor_list_1.tensor_list[k].uid = "";
|
||||||
session.interface()->add_vector(id, group.id, tensor_list_1.tensor_list[k]);
|
session.interface()->add_vector(id, group.id, tensor_list_1.tensor_list[k]);
|
||||||
if (k % 1000 == 0) {
|
if (k % 1000 == 0) {
|
||||||
CLIENT_LOG_INFO << "add normal vector no." << k;
|
CLIENT_LOG_INFO << "add normal vector no." << k;
|
||||||
|
}
|
||||||
|
ASSERT_TRUE(!id.empty());
|
||||||
}
|
}
|
||||||
ASSERT_TRUE(!id.empty());
|
rc.Elapse("done!");
|
||||||
}
|
}
|
||||||
rc.Elapse("done!");
|
|
||||||
}
|
|
||||||
|
|
||||||
//add vectors in one batch
|
//add vectors in one batch
|
||||||
{
|
{
|
||||||
server::TimeRecorder rc("Add " + std::to_string(count) + " vectors in one batch");
|
server::TimeRecorder rc("Add " + std::to_string(count) + " vectors in one batch");
|
||||||
std::vector<std::string> ids;
|
std::vector<std::string> ids;
|
||||||
session.interface()->add_vector_batch(ids, group.id, tensor_list_2);
|
session.interface()->add_vector_batch(ids, group.id, tensor_list_2);
|
||||||
rc.Elapse("done!");
|
rc.Elapse("done!");
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
//add binary vectors one by one
|
//add binary vectors one by one
|
||||||
{
|
{
|
||||||
server::TimeRecorder rc("Add " + std::to_string(count) + " binary vectors one by one");
|
server::TimeRecorder rc("Add " + std::to_string(count) + " binary vectors one by one");
|
||||||
for (int64_t k = 0; k < count; k++) {
|
for (int64_t k = 0; k < count; k++) {
|
||||||
std::string id;
|
std::string id;
|
||||||
bin_tensor_list_1.tensor_list[k].uid = "";
|
bin_tensor_list_1.tensor_list[k].uid = "";
|
||||||
session.interface()->add_binary_vector(id, group.id, bin_tensor_list_1.tensor_list[k]);
|
session.interface()->add_binary_vector(id, group.id, bin_tensor_list_1.tensor_list[k]);
|
||||||
if (k % 1000 == 0) {
|
if (k % 1000 == 0) {
|
||||||
CLIENT_LOG_INFO << "add binary vector no." << k;
|
CLIENT_LOG_INFO << "add binary vector no." << k;
|
||||||
|
}
|
||||||
|
ASSERT_TRUE(!id.empty());
|
||||||
}
|
}
|
||||||
ASSERT_TRUE(!id.empty());
|
rc.Elapse("done!");
|
||||||
}
|
}
|
||||||
rc.Elapse("done!");
|
|
||||||
|
//add binary vectors in one batch
|
||||||
|
{
|
||||||
|
server::TimeRecorder rc("Add " + std::to_string(count) + " binary vectors in one batch");
|
||||||
|
std::vector<std::string> ids;
|
||||||
|
session.interface()->add_binary_vector_batch(ids, group.id, bin_tensor_list_2);
|
||||||
|
rc.Elapse("done!");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//add binary vectors in one batch
|
|
||||||
{
|
|
||||||
server::TimeRecorder rc("Add " + std::to_string(count) + " binary vectors in one batch");
|
|
||||||
std::vector<std::string> ids;
|
|
||||||
session.interface()->add_binary_vector_batch(ids, group.id, bin_tensor_list_2);
|
|
||||||
rc.Elapse("done!");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
} catch (std::exception &ex) {
|
} catch (std::exception &ex) {
|
||||||
CLIENT_LOG_ERROR << "request encounter exception: " << ex.what();
|
CLIENT_LOG_ERROR << "request encounter exception: " << ex.what();
|
||||||
ASSERT_TRUE(false);
|
ASSERT_TRUE(false);
|
||||||
@ -258,7 +264,6 @@ TEST(SearchVector, CLIENT_TEST) {
|
|||||||
//search vector
|
//search vector
|
||||||
{
|
{
|
||||||
const int32_t anchor_index = 100;
|
const int32_t anchor_index = 100;
|
||||||
const int64_t top_k = 10;
|
|
||||||
server::TimeRecorder rc("Search top_k");
|
server::TimeRecorder rc("Search top_k");
|
||||||
VecTensor tensor;
|
VecTensor tensor;
|
||||||
for (int32_t i = 0; i < VEC_DIMENSION; i++) {
|
for (int32_t i = 0; i < VEC_DIMENSION; i++) {
|
||||||
@ -278,7 +283,7 @@ TEST(SearchVector, CLIENT_TEST) {
|
|||||||
filter.__set_time_ranges(time_ranges);
|
filter.__set_time_ranges(time_ranges);
|
||||||
|
|
||||||
//do search
|
//do search
|
||||||
session.interface()->search_vector(res, GetGroupID(), top_k, tensor, filter);
|
session.interface()->search_vector(res, GetGroupID(), TOP_K, tensor, filter);
|
||||||
|
|
||||||
//build result
|
//build result
|
||||||
std::cout << "Search result: " << std::endl;
|
std::cout << "Search result: " << std::endl;
|
||||||
@ -291,7 +296,7 @@ TEST(SearchVector, CLIENT_TEST) {
|
|||||||
}
|
}
|
||||||
rc.Elapse("done!");
|
rc.Elapse("done!");
|
||||||
|
|
||||||
ASSERT_EQ(res.result_list.size(), (uint64_t)top_k);
|
ASSERT_EQ(res.result_list.size(), (uint64_t)TOP_K);
|
||||||
if(!res.result_list.empty()) {
|
if(!res.result_list.empty()) {
|
||||||
ASSERT_TRUE(!res.result_list[0].uid.empty());
|
ASSERT_TRUE(!res.result_list[0].uid.empty());
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user