[test]Modify the search list testcase of diskann (#21183)

Signed-off-by: jingkl <jingjing.jia@zilliz.com>

Signed-off-by: jingkl <jingjing.jia@zilliz.com>
pull/21224/head
jingkl 2022-12-14 14:55:30 +08:00 committed by GitHub
parent 437e44307a
commit 4592b969de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 36 additions and 36 deletions

View File

@ -4266,14 +4266,45 @@ class TestsearchDiskann(TestcaseBase):
)
@pytest.mark.tags(CaseLabel.L2)
@pytest.mark.parametrize("limit", [20])
@pytest.mark.parametrize("search_list", [10, 201])
@pytest.mark.parametrize("limit", [1])
@pytest.mark.parametrize("search_list", [-1, 0, 201])
def test_search_invalid_params_with_diskann_A(self, dim, auto_id, search_list, limit):
"""
target: test delete after creating index
method: 1.create collection , insert data, primary_field is int field
2.create diskann index
3.search with invalid params, where topk <=20, search list (topk, 200]
3.search with invalid params, where topk <=20, search list [topk, 200]
expected: search report an error
"""
# 1. initialize with data
collection_w, _, _, insert_ids = \
self.init_collection_general(prefix, True, auto_id=auto_id, dim=dim, is_index=True)[0:4]
# 2. create index
default_index = {"index_type": "DISKANN", "metric_type":"L2", "params": {}}
collection_w.create_index(ct.default_float_vec_field_name, default_index)
collection_w.load()
default_search_params ={"metric_type": "L2", "params": {"search_list": search_list}}
vectors = [[random.random() for _ in range(dim)] for _ in range(default_nq)]
output_fields = [default_int64_field_name, default_float_field_name, default_string_field_name]
collection_w.search(vectors[:default_nq], default_search_field,
default_search_params, limit,
default_search_exp,
output_fields=output_fields,
travel_timestamp=0,
check_task=CheckTasks.err_res,
check_items={"err_code": 1,
"err_msg": "fail to search on all shard leaders"}
)
@pytest.mark.tags(CaseLabel.L2)
@pytest.mark.parametrize("limit", [20])
@pytest.mark.parametrize("search_list", [19, 201])
def test_search_invalid_params_with_diskann_B(self, dim, auto_id, search_list, limit):
"""
target: test delete after creating index
method: 1.create collection , insert data, primary_field is int field
2.create diskann index
3.search with invalid params, [k, 200] when k <= 20
expected: search report an error
"""
# 1. initialize with data
@ -4298,44 +4329,13 @@ class TestsearchDiskann(TestcaseBase):
@pytest.mark.tags(CaseLabel.L2)
@pytest.mark.parametrize("limit", [6553])
@pytest.mark.parametrize("search_list", [6553, 65531])
def test_search_invalid_params_with_diskann_B(self, dim, auto_id, search_list, limit):
"""
target: test delete after creating index
method: 1.create collection , insert data, primary_field is int field
2.create diskann index
3.search with invalid params, where 20< topk <= 6553, search list (topk, topk * 10]
expected: search report an error
"""
# 1. initialize with data
collection_w, _, _, insert_ids = \
self.init_collection_general(prefix, True, auto_id=auto_id, dim=dim, is_index=True)[0:4]
# 2. create index
default_index = {"index_type": "DISKANN", "metric_type":"L2", "params": {}}
collection_w.create_index(ct.default_float_vec_field_name, default_index)
collection_w.load()
default_search_params ={"metric_type": "L2", "params": {"search_list": search_list}}
vectors = [[random.random() for _ in range(dim)] for _ in range(default_nq)]
output_fields = [default_int64_field_name, default_float_field_name, default_string_field_name]
collection_w.search(vectors[:default_nq], default_search_field,
default_search_params, limit,
default_search_exp,
output_fields=output_fields,
travel_timestamp=0,
check_task=CheckTasks.err_res,
check_items={"err_code": 1,
"err_msg": "fail to search on all shard leaders"}
)
@pytest.mark.tags(CaseLabel.L2)
@pytest.mark.parametrize("limit", [6554])
@pytest.mark.parametrize("search_list", [6554, 65536])
@pytest.mark.parametrize("search_list", [6550, 65536])
def test_search_invalid_params_with_diskann_C(self, dim, auto_id, search_list, limit):
"""
target: test delete after creating index
method: 1.create collection , insert data, primary_field is int field
2.create diskann index
3.search with invalid params, where topk > 6553, search list (topk, 65535]
3.search with invalid params , [k, min( 10 * topk, 65535)] when k > 20
expected: search report an error
"""
# 1. initialize with data