From 1f725f1ec17be1dcba5f753efab5e675b71f9574 Mon Sep 17 00:00:00 2001 From: zhenwu Date: Wed, 27 Nov 2019 12:39:35 +0800 Subject: [PATCH 1/2] Add regex case for searching partition --- .../milvus_python_test/test_search_vectors.py | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/milvus_python_test/test_search_vectors.py b/tests/milvus_python_test/test_search_vectors.py index e0b1bc09ea..35b54cc9b2 100644 --- a/tests/milvus_python_test/test_search_vectors.py +++ b/tests/milvus_python_test/test_search_vectors.py @@ -266,6 +266,40 @@ class TestSearchBase: assert check_result(result[1], new_ids[0]) assert result[1][0].distance <= epsilon + def test_search_l2_index_params_partition_F(self, connect, table, get_simple_index_params): + ''' + target: test basic search fuction, all the search params is corrent, test all index params, and build + method: search table with the given vectors and tags with "re" expr, check the result + expected: search status ok, and the length of the result is top_k + ''' + new_tag = "new_tag" + index_params = get_simple_index_params + logging.getLogger().info(index_params) + partition_name = gen_unique_str() + new_partition_name = gen_unique_str() + status = connect.create_partition(table, partition_name, tag) + status = connect.create_partition(table, new_partition_name, new_tag) + vectors, ids = self.init_data(connect, partition_name) + new_vectors, new_ids = self.init_data(connect, new_partition_name, nb=1000) + status = connect.create_index(table, index_params) + query_vec = [vectors[0], new_vectors[0]] + top_k = 10 + nprobe = 1 + status, result = connect.search_vectors(table, top_k, nprobe, query_vec, partition_tags=["new(.*)"]) + logging.getLogger().info(result) + assert status.OK() + assert len(result[0]) == min(len(vectors), top_k) + assert check_result(result[1], new_ids[0]) + assert result[0][0].distance > epsilon + assert result[1][0].distance <= epsilon + status, result = connect.search_vectors(table, top_k, nprobe, query_vec, partition_tags=["(.*)tag"]) + logging.getLogger().info(result) + assert status.OK() + assert len(result[0]) == min(len(vectors), top_k) + assert check_result(result[1], new_ids[0]) + assert result[0][0].distance > epsilon + assert result[1][0].distance <= epsilon + def test_search_ip_index_params(self, connect, ip_table, get_index_params): ''' target: test basic search fuction, all the search params is corrent, test all index params, and build From 19b77d1a7c1bbd8aac5521e6ca6cc274789eeff6 Mon Sep 17 00:00:00 2001 From: zhenwu Date: Wed, 27 Nov 2019 13:41:45 +0800 Subject: [PATCH 2/2] fix case bug --- tests/milvus_python_test/test_search_vectors.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tests/milvus_python_test/test_search_vectors.py b/tests/milvus_python_test/test_search_vectors.py index 35b54cc9b2..7aebc78e31 100644 --- a/tests/milvus_python_test/test_search_vectors.py +++ b/tests/milvus_python_test/test_search_vectors.py @@ -272,6 +272,7 @@ class TestSearchBase: method: search table with the given vectors and tags with "re" expr, check the result expected: search status ok, and the length of the result is top_k ''' + tag = "atag" new_tag = "new_tag" index_params = get_simple_index_params logging.getLogger().info(index_params) @@ -288,16 +289,12 @@ class TestSearchBase: status, result = connect.search_vectors(table, top_k, nprobe, query_vec, partition_tags=["new(.*)"]) logging.getLogger().info(result) assert status.OK() - assert len(result[0]) == min(len(vectors), top_k) - assert check_result(result[1], new_ids[0]) assert result[0][0].distance > epsilon assert result[1][0].distance <= epsilon status, result = connect.search_vectors(table, top_k, nprobe, query_vec, partition_tags=["(.*)tag"]) logging.getLogger().info(result) assert status.OK() - assert len(result[0]) == min(len(vectors), top_k) - assert check_result(result[1], new_ids[0]) - assert result[0][0].distance > epsilon + assert result[0][0].distance <= epsilon assert result[1][0].distance <= epsilon def test_search_ip_index_params(self, connect, ip_table, get_index_params):