mirror of https://github.com/milvus-io/milvus.git
[skip e2e] Update test cases (#18284)
Signed-off-by: Binbin Lv <binbin.lv@zilliz.com>pull/18292/head
parent
b001273cae
commit
cd826dc874
|
@ -1625,6 +1625,86 @@ class TestCollectionSearch(TestcaseBase):
|
||||||
res = res.result()
|
res = res.result()
|
||||||
assert abs(res[0].distances[0] - min(distance_0, distance_1)) <= epsilon
|
assert abs(res[0].distances[0] - min(distance_0, distance_1)) <= epsilon
|
||||||
|
|
||||||
|
@pytest.mark.tags(CaseLabel.L2)
|
||||||
|
@pytest.mark.xfail(reason="issue 18283")
|
||||||
|
@pytest.mark.parametrize("index", ["BIN_FLAT"])
|
||||||
|
def test_search_binary_substructure_flat_index(self, nq, dim, auto_id, _async, index, is_flush):
|
||||||
|
"""
|
||||||
|
target: search binary_collection, and check the result: distance
|
||||||
|
method: compare the return distance value with value computed with SUBSTRUCTURE
|
||||||
|
expected: the return distance equals to the computed value
|
||||||
|
"""
|
||||||
|
# 1. initialize with binary data
|
||||||
|
collection_w, _, binary_raw_vector, insert_ids, time_stamp = self.init_collection_general(prefix, True, 2,
|
||||||
|
is_binary=True,
|
||||||
|
auto_id=auto_id,
|
||||||
|
dim=dim,
|
||||||
|
is_index=True,
|
||||||
|
is_flush=is_flush)[0:5]
|
||||||
|
# 2. create index
|
||||||
|
default_index = {"index_type": index, "params": {"nlist": 128}, "metric_type": "SUBSTRUCTURE"}
|
||||||
|
collection_w.create_index("binary_vector", default_index)
|
||||||
|
collection_w.load()
|
||||||
|
# 3. compute the distance
|
||||||
|
query_raw_vector, binary_vectors = cf.gen_binary_vectors(3000, dim)
|
||||||
|
distance_0 = cf.substructure(query_raw_vector[0], binary_raw_vector[0])
|
||||||
|
distance_1 = cf.substructure(query_raw_vector[0], binary_raw_vector[1])
|
||||||
|
# 4. search and compare the distance
|
||||||
|
search_params = {"metric_type": "SUBSTRUCTURE", "params": {"nprobe": 10}}
|
||||||
|
res = collection_w.search(binary_vectors[:nq], "binary_vector",
|
||||||
|
search_params, default_limit, "int64 >= 0",
|
||||||
|
_async=_async,
|
||||||
|
travel_timestamp=time_stamp,
|
||||||
|
check_task=CheckTasks.check_search_results,
|
||||||
|
check_items={"nq": nq,
|
||||||
|
"ids": insert_ids,
|
||||||
|
"limit": 2,
|
||||||
|
"_async": _async})[0]
|
||||||
|
if _async:
|
||||||
|
res.done()
|
||||||
|
res = res.result()
|
||||||
|
assert abs(res[0].distances[0] - min(distance_0, distance_1)) <= epsilon
|
||||||
|
|
||||||
|
@pytest.mark.tags(CaseLabel.L2)
|
||||||
|
@pytest.mark.xfail(reason="issue 18283")
|
||||||
|
@pytest.mark.parametrize("index", ["BIN_FLAT"])
|
||||||
|
def test_search_binary_superstructure_flat_index(self, nq, dim, auto_id, _async, index, is_flush):
|
||||||
|
"""
|
||||||
|
target: search binary_collection, and check the result: distance
|
||||||
|
method: compare the return distance value with value computed with SUPERSTRUCTURE
|
||||||
|
expected: the return distance equals to the computed value
|
||||||
|
"""
|
||||||
|
# 1. initialize with binary data
|
||||||
|
collection_w, _, binary_raw_vector, insert_ids, time_stamp = self.init_collection_general(prefix, True, 2,
|
||||||
|
is_binary=True,
|
||||||
|
auto_id=auto_id,
|
||||||
|
dim=dim,
|
||||||
|
is_index=True,
|
||||||
|
is_flush=is_flush)[0:5]
|
||||||
|
# 2. create index
|
||||||
|
default_index = {"index_type": index, "params": {"nlist": 128}, "metric_type": "SUPERSTRUCTURE"}
|
||||||
|
collection_w.create_index("binary_vector", default_index)
|
||||||
|
collection_w.load()
|
||||||
|
# 3. compute the distance
|
||||||
|
query_raw_vector, binary_vectors = cf.gen_binary_vectors(3000, dim)
|
||||||
|
distance_0 = cf.superstructure(query_raw_vector[0], binary_raw_vector[0])
|
||||||
|
distance_1 = cf.superstructure(query_raw_vector[0], binary_raw_vector[1])
|
||||||
|
# 4. search and compare the distance
|
||||||
|
search_params = {"metric_type": "SUPERSTRUCTURE", "params": {"nprobe": 10}}
|
||||||
|
res = collection_w.search(binary_vectors[:nq], "binary_vector",
|
||||||
|
search_params, default_limit, "int64 >= 0",
|
||||||
|
_async=_async,
|
||||||
|
travel_timestamp=time_stamp,
|
||||||
|
check_task=CheckTasks.check_search_results,
|
||||||
|
check_items={"nq": nq,
|
||||||
|
"ids": insert_ids,
|
||||||
|
"limit": 2,
|
||||||
|
"_async": _async})[0]
|
||||||
|
if _async:
|
||||||
|
res.done()
|
||||||
|
res = res.result()
|
||||||
|
assert abs(res[0].distances[0] - min(distance_0, distance_1)) <= epsilon
|
||||||
|
|
||||||
@pytest.mark.tags(CaseLabel.L2)
|
@pytest.mark.tags(CaseLabel.L2)
|
||||||
def test_search_binary_without_flush(self, metrics, auto_id):
|
def test_search_binary_without_flush(self, metrics, auto_id):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue