// Copyright (C) 2019-2020 Zilliz. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software distributed under the License // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. #include #include "interface/ConnectionImpl.h" #include "include/MilvusApi.h" #include "grpc/ClientProxy.h" #include "interface/ConnectionImpl.h" #include "ip.h" const int TOP_K = 10; int main(int argc , char**argv) { auto client = milvus::ConnectionImpl(); milvus::ConnectParam connect_param; connect_param.ip_address = IP; connect_param.port = "19530"; client.Connect(connect_param); std::vector ids_array; std::vector partition_list; partition_list.emplace_back("partition-1"); partition_list.emplace_back("partition-2"); partition_list.emplace_back("partition-3"); milvus::VectorParam vectorParam; milvus::VectorData vectorData; std::vector float_data; for (int i = 0; i < 100; ++i) { float_data.emplace_back(i); } vectorData.float_data = float_data; std::vector vector_records; for (int j = 0; j < 10; ++j) { vector_records.emplace_back(vectorData); } nlohmann::json vector_param_json; vector_param_json["num_queries"] = 1; vector_param_json["topK"] = TOP_K; vector_param_json["field_name"] = "fakevec"; std::string vector_param_json_string = vector_param_json.dump(); vectorParam.json_param = vector_param_json_string; vectorParam.vector_records = vector_records; milvus::TopKQueryResult result; auto t1 = std::chrono::high_resolution_clock::now(); auto status = client.Search("collection1", partition_list, "dsl", vectorParam, result); auto t2 = std::chrono::high_resolution_clock::now(); auto duration = std::chrono::duration_cast(t2 - t1).count(); std::cout << "Query run time: " << duration/1000.0 << "ms" << std::endl; return 0; }