Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
b8148d8e
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b8148d8e
编写于
4月 29, 2019
作者:
G
groot
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'jinhai' of 192.168.1.105:jinhai/vecwise_engine into jinhai
Former-commit-id: bd511cfab2d3813dee05c34dcf068622da2fef94
上级
1aefac8a
5d5bbe84
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
24 addition
and
7 deletion
+24
-7
cpp/src/db/DB.h
cpp/src/db/DB.h
+3
-0
cpp/src/db/DBImpl.cpp
cpp/src/db/DBImpl.cpp
+10
-3
cpp/src/db/DBImpl.h
cpp/src/db/DBImpl.h
+3
-0
cpp/src/db/DBMetaImpl.cpp
cpp/src/db/DBMetaImpl.cpp
+5
-2
cpp/src/db/DBMetaImpl.h
cpp/src/db/DBMetaImpl.h
+1
-1
cpp/src/db/Meta.h
cpp/src/db/Meta.h
+2
-1
未找到文件。
cpp/src/db/DB.h
浏览文件 @
b8148d8e
...
...
@@ -30,6 +30,9 @@ public:
virtual
Status
search
(
const
std
::
string
&
group_id
,
size_t
k
,
size_t
nq
,
const
float
*
vectors
,
QueryResults
&
results
)
=
0
;
virtual
Status
search
(
const
std
::
string
&
group_id
,
size_t
k
,
size_t
nq
,
const
float
*
vectors
,
const
meta
::
DatesT
&
dates
,
QueryResults
&
results
)
=
0
;
virtual
Status
drop_all
()
=
0
;
virtual
Status
count
(
const
std
::
string
&
group_id
,
long
&
result
)
=
0
;
...
...
cpp/src/db/DBImpl.cpp
浏览文件 @
b8148d8e
...
...
@@ -57,14 +57,21 @@ Status DBImpl::add_vectors(const std::string& group_id_,
}
}
// TODO(XUPENG): add search range based on time
Status
DBImpl
::
search
(
const
std
::
string
&
group_id
,
size_t
k
,
size_t
nq
,
const
float
*
vectors
,
QueryResults
&
results
)
{
meta
::
DatesT
dates
=
{
meta
::
Meta
::
GetDate
()};
return
search
(
group_id
,
k
,
nq
,
vectors
,
dates
,
results
);
}
Status
DBImpl
::
search
(
const
std
::
string
&
group_id
,
size_t
k
,
size_t
nq
,
const
float
*
vectors
,
const
meta
::
DatesT
&
dates
,
QueryResults
&
results
)
{
meta
::
DatePartionedGroupFilesSchema
files
;
std
::
vector
<
meta
::
DateT
>
partition
;
auto
status
=
_pMeta
->
files_to_search
(
group_id
,
partition
,
files
);
auto
status
=
_pMeta
->
files_to_search
(
group_id
,
dates
,
files
);
if
(
!
status
.
ok
())
{
return
status
;
}
LOG
(
DEBUG
)
<<
"Search DateT Size="
<<
files
.
size
();
meta
::
GroupFilesSchema
index_files
;
meta
::
GroupFilesSchema
raw_files
;
for
(
auto
&
day_files
:
files
)
{
...
...
cpp/src/db/DBImpl.h
浏览文件 @
b8148d8e
...
...
@@ -36,6 +36,9 @@ public:
virtual
Status
search
(
const
std
::
string
&
group_id
,
size_t
k
,
size_t
nq
,
const
float
*
vectors
,
QueryResults
&
results
)
override
;
virtual
Status
search
(
const
std
::
string
&
group_id
,
size_t
k
,
size_t
nq
,
const
float
*
vectors
,
const
meta
::
DatesT
&
dates
,
QueryResults
&
results
)
override
;
virtual
Status
drop_all
()
override
;
virtual
Status
count
(
const
std
::
string
&
group_id
,
long
&
result
)
override
;
...
...
cpp/src/db/DBMetaImpl.cpp
浏览文件 @
b8148d8e
...
...
@@ -253,10 +253,12 @@ Status DBMetaImpl::files_to_index(GroupFilesSchema& files) {
}
Status
DBMetaImpl
::
files_to_search
(
const
std
::
string
&
group_id
,
std
::
vector
<
DateT
>
partition
,
const
DatesT
&
partition
,
DatePartionedGroupFilesSchema
&
files
)
{
// TODO: support data partition
files
.
clear
();
DatesT
today
=
{
Meta
::
GetDate
()};
const
DatesT
&
dates
=
(
partition
.
empty
()
==
true
)
?
today
:
partition
;
try
{
auto
selected
=
ConnectorPtr
->
select
(
columns
(
&
GroupFileSchema
::
id
,
&
GroupFileSchema
::
group_id
,
...
...
@@ -265,6 +267,7 @@ Status DBMetaImpl::files_to_search(const std::string &group_id,
&
GroupFileSchema
::
rows
,
&
GroupFileSchema
::
date
),
where
(
c
(
&
GroupFileSchema
::
group_id
)
==
group_id
and
in
(
&
GroupFileSchema
::
date
,
dates
)
and
(
c
(
&
GroupFileSchema
::
file_type
)
==
(
int
)
GroupFileSchema
::
RAW
or
c
(
&
GroupFileSchema
::
file_type
)
==
(
int
)
GroupFileSchema
::
INDEX
)));
...
...
cpp/src/db/DBMetaImpl.h
浏览文件 @
b8148d8e
...
...
@@ -39,7 +39,7 @@ public:
DatePartionedGroupFilesSchema
&
files
)
override
;
virtual
Status
files_to_search
(
const
std
::
string
&
group_id
,
std
::
vector
<
DateT
>
partition
,
const
DatesT
&
partition
,
DatePartionedGroupFilesSchema
&
files
)
override
;
virtual
Status
files_to_index
(
GroupFilesSchema
&
)
override
;
...
...
cpp/src/db/Meta.h
浏览文件 @
b8148d8e
...
...
@@ -15,6 +15,7 @@ namespace meta {
typedef
int
DateT
;
const
DateT
EmptyDate
=
-
1
;
typedef
std
::
vector
<
DateT
>
DatesT
;
struct
GroupSchema
{
size_t
id
;
...
...
@@ -72,7 +73,7 @@ public:
virtual
Status
update_files
(
GroupFilesSchema
&
files
)
=
0
;
virtual
Status
files_to_search
(
const
std
::
string
&
group_id
,
std
::
vector
<
DateT
>
partition
,
const
DatesT
&
partition
,
DatePartionedGroupFilesSchema
&
files
)
=
0
;
virtual
Status
files_to_merge
(
const
std
::
string
&
group_id
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录