Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
19baa7b2
M
milvus
项目概览
milvus
/
milvus
11 个月 前同步成功
通知
261
Star
22476
Fork
2472
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
19baa7b2
编写于
3月 21, 2022
作者:
J
jingkl
提交者:
GitHub
3月 21, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[test]Add testcase of consistency (#16099)
Signed-off-by:
N
jingkl
<
jingjing.jia@zilliz.com
>
上级
ca45e0bd
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
168 addition
and
0 deletion
+168
-0
tests/python_client/testcases/test_search_20.py
tests/python_client/testcases/test_search_20.py
+168
-0
未找到文件。
tests/python_client/testcases/test_search_20.py
浏览文件 @
19baa7b2
...
...
@@ -11,6 +11,7 @@ from common import common_type as ct
from
common.common_type
import
CaseLabel
,
CheckTasks
from
utils.util_pymilvus
import
*
from
common.constants
import
*
from
pymilvus.orm.types
import
CONSISTENCY_STRONG
,
CONSISTENCY_BOUNDED
,
CONSISTENCY_SESSION
,
CONSISTENCY_EVENTUALLY
prefix
=
"search_collection"
search_num
=
10
...
...
@@ -2159,6 +2160,173 @@ class TestCollectionSearch(TestcaseBase):
"limit"
:
default_limit
,
})
@
pytest
.
mark
.
tags
(
CaseLabel
.
L1
)
def
test_search_with_consistency_bounded
(
self
,
nq
,
dim
,
auto_id
,
_async
):
"""
target: test search with different consistency level
method: 1. create a collection
2. insert data
3. search with consistency_level is "bounded"
expected: searched successfully
"""
limit
=
1000
nb_old
=
500
collection_w
,
_
,
_
,
insert_ids
=
self
.
init_collection_general
(
prefix
,
True
,
nb_old
,
auto_id
=
auto_id
,
dim
=
dim
)[
0
:
4
]
# 2. search for original data after load
vectors
=
[[
random
.
random
()
for
_
in
range
(
dim
)]
for
_
in
range
(
nq
)]
collection_w
.
search
(
vectors
[:
nq
],
default_search_field
,
default_search_params
,
limit
,
default_search_exp
,
_async
=
_async
,
check_task
=
CheckTasks
.
check_search_results
,
check_items
=
{
"nq"
:
nq
,
"ids"
:
insert_ids
,
"limit"
:
nb_old
,
"_async"
:
_async
,
})
kwargs
=
{}
consistency_level
=
kwargs
.
get
(
"consistency_level"
,
CONSISTENCY_BOUNDED
)
kwargs
.
update
({
"consistency_level"
:
consistency_level
})
nb_new
=
400
_
,
_
,
_
,
insert_ids_new
,
_
=
cf
.
insert_data
(
collection_w
,
nb_new
,
auto_id
=
auto_id
,
dim
=
dim
,
insert_offset
=
nb_old
)
insert_ids
.
extend
(
insert_ids_new
)
collection_w
.
search
(
vectors
[:
nq
],
default_search_field
,
default_search_params
,
limit
,
default_search_exp
,
_async
=
_async
,
**
kwargs
,
)
@
pytest
.
mark
.
tags
(
CaseLabel
.
L1
)
def
test_search_with_consistency_strong
(
self
,
nq
,
dim
,
auto_id
,
_async
):
"""
target: test search with different consistency level
method: 1. create a collection
2. insert data
3. search with consistency_level is "Strong"
expected: searched successfully
"""
limit
=
1000
nb_old
=
500
collection_w
,
_
,
_
,
insert_ids
=
self
.
init_collection_general
(
prefix
,
True
,
nb_old
,
auto_id
=
auto_id
,
dim
=
dim
)[
0
:
4
]
# 2. search for original data after load
vectors
=
[[
random
.
random
()
for
_
in
range
(
dim
)]
for
_
in
range
(
nq
)]
collection_w
.
search
(
vectors
[:
nq
],
default_search_field
,
default_search_params
,
limit
,
default_search_exp
,
_async
=
_async
,
check_task
=
CheckTasks
.
check_search_results
,
check_items
=
{
"nq"
:
nq
,
"ids"
:
insert_ids
,
"limit"
:
nb_old
,
"_async"
:
_async
})
nb_new
=
400
_
,
_
,
_
,
insert_ids_new
,
_
=
cf
.
insert_data
(
collection_w
,
nb_new
,
auto_id
=
auto_id
,
dim
=
dim
,
insert_offset
=
nb_old
)
insert_ids
.
extend
(
insert_ids_new
)
kwargs
=
{}
consistency_level
=
kwargs
.
get
(
"consistency_level"
,
CONSISTENCY_STRONG
)
kwargs
.
update
({
"consistency_level"
:
consistency_level
})
collection_w
.
search
(
vectors
[:
nq
],
default_search_field
,
default_search_params
,
limit
,
default_search_exp
,
_async
=
_async
,
**
kwargs
,
check_task
=
CheckTasks
.
check_search_results
,
check_items
=
{
"nq"
:
nq
,
"ids"
:
insert_ids
,
"limit"
:
nb_old
+
nb_new
,
"_async"
:
_async
})
@
pytest
.
mark
.
tags
(
CaseLabel
.
L1
)
def
test_search_with_consistency_eventually
(
self
,
nq
,
dim
,
auto_id
,
_async
):
"""
target: test search with different consistency level
method: 1. create a collection
2. insert data
3. search with consistency_level is "eventually"
expected: searched successfully
"""
limit
=
1000
nb_old
=
500
collection_w
,
_
,
_
,
insert_ids
=
self
.
init_collection_general
(
prefix
,
True
,
nb_old
,
auto_id
=
auto_id
,
dim
=
dim
)[
0
:
4
]
# 2. search for original data after load
vectors
=
[[
random
.
random
()
for
_
in
range
(
dim
)]
for
_
in
range
(
nq
)]
collection_w
.
search
(
vectors
[:
nq
],
default_search_field
,
default_search_params
,
limit
,
default_search_exp
,
_async
=
_async
,
check_task
=
CheckTasks
.
check_search_results
,
check_items
=
{
"nq"
:
nq
,
"ids"
:
insert_ids
,
"limit"
:
nb_old
,
"_async"
:
_async
})
nb_new
=
400
_
,
_
,
_
,
insert_ids_new
,
_
=
cf
.
insert_data
(
collection_w
,
nb_new
,
auto_id
=
auto_id
,
dim
=
dim
,
insert_offset
=
nb_old
)
insert_ids
.
extend
(
insert_ids_new
)
kwargs
=
{}
consistency_level
=
kwargs
.
get
(
"consistency_level"
,
CONSISTENCY_EVENTUALLY
)
kwargs
.
update
({
"consistency_level"
:
consistency_level
})
collection_w
.
search
(
vectors
[:
nq
],
default_search_field
,
default_search_params
,
limit
,
default_search_exp
,
_async
=
_async
,
**
kwargs
)
@
pytest
.
mark
.
tags
(
CaseLabel
.
L1
)
def
test_search_with_consistency_session
(
self
,
nq
,
dim
,
auto_id
,
_async
):
"""
target: test search with different consistency level
method: 1. create a collection
2. insert data
3. search with consistency_level is "session"
expected: searched successfully
"""
limit
=
1000
nb_old
=
500
collection_w
,
_
,
_
,
insert_ids
=
self
.
init_collection_general
(
prefix
,
True
,
nb_old
,
auto_id
=
auto_id
,
dim
=
dim
)[
0
:
4
]
# 2. search for original data after load
vectors
=
[[
random
.
random
()
for
_
in
range
(
dim
)]
for
_
in
range
(
nq
)]
collection_w
.
search
(
vectors
[:
nq
],
default_search_field
,
default_search_params
,
limit
,
default_search_exp
,
_async
=
_async
,
check_task
=
CheckTasks
.
check_search_results
,
check_items
=
{
"nq"
:
nq
,
"ids"
:
insert_ids
,
"limit"
:
nb_old
,
"_async"
:
_async
})
kwargs
=
{}
consistency_level
=
kwargs
.
get
(
"consistency_level"
,
CONSISTENCY_SESSION
)
kwargs
.
update
({
"consistency_level"
:
consistency_level
})
nb_new
=
400
_
,
_
,
_
,
insert_ids_new
,
_
=
cf
.
insert_data
(
collection_w
,
nb_new
,
auto_id
=
auto_id
,
dim
=
dim
,
insert_offset
=
nb_old
)
insert_ids
.
extend
(
insert_ids_new
)
collection_w
.
search
(
vectors
[:
nq
],
default_search_field
,
default_search_params
,
limit
,
default_search_exp
,
_async
=
_async
,
**
kwargs
,
check_task
=
CheckTasks
.
check_search_results
,
check_items
=
{
"nq"
:
nq
,
"ids"
:
insert_ids
,
"limit"
:
nb_old
+
nb_new
,
"_async"
:
_async
})
class
TestSearchBase
(
TestcaseBase
):
@
pytest
.
fixture
(
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录