|
@@ 1021-1059 (lines=39) @@
|
| 1018 |
|
for j in range(len(query_vecs)): |
| 1019 |
|
assert check_result(result[j], idx[3 * i + j]) |
| 1020 |
|
|
| 1021 |
|
def test_search_multi_collection_IP(search, args): |
| 1022 |
|
''' |
| 1023 |
|
target: test search multi collections of IP |
| 1024 |
|
method: add vectors into 10 collections, and search |
| 1025 |
|
expected: search status ok, the length of result |
| 1026 |
|
''' |
| 1027 |
|
num = 10 |
| 1028 |
|
top_k = 10 |
| 1029 |
|
collections = [] |
| 1030 |
|
idx = [] |
| 1031 |
|
for i in range(num): |
| 1032 |
|
collection = gen_unique_str("test_add_multicollection_%d" % i) |
| 1033 |
|
uri = "tcp://%s:%s" % (args["ip"], args["port"]) |
| 1034 |
|
param = {'collection_name': collection, |
| 1035 |
|
'dimension': dim, |
| 1036 |
|
'index_file_size': 10, |
| 1037 |
|
'metric_type': MetricType.L2} |
| 1038 |
|
# create collection |
| 1039 |
|
milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) |
| 1040 |
|
milvus.create_collection(param) |
| 1041 |
|
status, ids = milvus.insert(collection, vectors) |
| 1042 |
|
assert status.OK() |
| 1043 |
|
assert len(ids) == len(vectors) |
| 1044 |
|
collections.append(collection) |
| 1045 |
|
idx.append(ids[0]) |
| 1046 |
|
idx.append(ids[10]) |
| 1047 |
|
idx.append(ids[20]) |
| 1048 |
|
milvus.flush([collection]) |
| 1049 |
|
query_vecs = [vectors[0], vectors[10], vectors[20]] |
| 1050 |
|
# start query from random collection |
| 1051 |
|
for i in range(num): |
| 1052 |
|
collection = collections[i] |
| 1053 |
|
status, result = milvus.search(collection, top_k, query_vecs) |
| 1054 |
|
assert status.OK() |
| 1055 |
|
assert len(result) == len(query_vecs) |
| 1056 |
|
for j in range(len(query_vecs)): |
| 1057 |
|
assert len(result[j]) == top_k |
| 1058 |
|
for j in range(len(query_vecs)): |
| 1059 |
|
assert check_result(result[j], idx[3 * i + j]) |
| 1060 |
|
|
| 1061 |
|
@pytest.fixture(params=MetricType) |
| 1062 |
|
def get_binary_metric_types(self, request): |
|
@@ 981-1019 (lines=39) @@
|
| 978 |
|
for p in processes: |
| 979 |
|
p.join() |
| 980 |
|
|
| 981 |
|
def test_search_multi_collection_L2(search, args): |
| 982 |
|
''' |
| 983 |
|
target: test search multi collections of L2 |
| 984 |
|
method: add vectors into 10 collections, and search |
| 985 |
|
expected: search status ok, the length of result |
| 986 |
|
''' |
| 987 |
|
num = 10 |
| 988 |
|
top_k = 10 |
| 989 |
|
collections = [] |
| 990 |
|
idx = [] |
| 991 |
|
for i in range(num): |
| 992 |
|
collection = gen_unique_str("test_add_multicollection_%d" % i) |
| 993 |
|
uri = "tcp://%s:%s" % (args["ip"], args["port"]) |
| 994 |
|
param = {'collection_name': collection, |
| 995 |
|
'dimension': dim, |
| 996 |
|
'index_file_size': 10, |
| 997 |
|
'metric_type': MetricType.L2} |
| 998 |
|
# create collection |
| 999 |
|
milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) |
| 1000 |
|
milvus.create_collection(param) |
| 1001 |
|
status, ids = milvus.insert(collection, vectors) |
| 1002 |
|
assert status.OK() |
| 1003 |
|
assert len(ids) == len(vectors) |
| 1004 |
|
collections.append(collection) |
| 1005 |
|
idx.append(ids[0]) |
| 1006 |
|
idx.append(ids[10]) |
| 1007 |
|
idx.append(ids[20]) |
| 1008 |
|
milvus.flush([collection]) |
| 1009 |
|
query_vecs = [vectors[0], vectors[10], vectors[20]] |
| 1010 |
|
# start query from random collection |
| 1011 |
|
for i in range(num): |
| 1012 |
|
collection = collections[i] |
| 1013 |
|
status, result = milvus.search(collection, top_k, query_vecs) |
| 1014 |
|
assert status.OK() |
| 1015 |
|
assert len(result) == len(query_vecs) |
| 1016 |
|
for j in range(len(query_vecs)): |
| 1017 |
|
assert len(result[j]) == top_k |
| 1018 |
|
for j in range(len(query_vecs)): |
| 1019 |
|
assert check_result(result[j], idx[3 * i + j]) |
| 1020 |
|
|
| 1021 |
|
def test_search_multi_collection_IP(search, args): |
| 1022 |
|
''' |