Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
105b9849
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,发现更多精彩内容 >>
提交
105b9849
编写于
11月 08, 2019
作者:
F
fishpenguin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#258 - Bytes type in proto cause big-endian/little-endian problem
上级
87ef2f53
变更
9
展开全部
隐藏空白更改
内联
并排
Showing
9 changed file
with
289 addition
and
363 deletion
+289
-363
CHANGELOG.md
CHANGELOG.md
+1
-0
core/src/grpc/README.md
core/src/grpc/README.md
+2
-0
core/src/grpc/gen-milvus/milvus.pb.cc
core/src/grpc/gen-milvus/milvus.pb.cc
+170
-183
core/src/grpc/gen-milvus/milvus.pb.h
core/src/grpc/gen-milvus/milvus.pb.h
+102
-151
core/src/grpc/milvus.proto
core/src/grpc/milvus.proto
+3
-4
core/src/sdk/examples/grpcsimple/src/ClientTest.cpp
core/src/sdk/examples/grpcsimple/src/ClientTest.cpp
+2
-2
core/src/sdk/grpc/ClientProxy.cpp
core/src/sdk/grpc/ClientProxy.cpp
+6
-6
core/src/sdk/include/MilvusApi.h
core/src/sdk/include/MilvusApi.h
+0
-1
core/src/server/grpc_impl/GrpcRequestTask.cpp
core/src/server/grpc_impl/GrpcRequestTask.cpp
+3
-16
未找到文件。
CHANGELOG.md
浏览文件 @
105b9849
...
@@ -4,6 +4,7 @@ Please mark all change in change log and use the ticket from JIRA.
...
@@ -4,6 +4,7 @@ Please mark all change in change log and use the ticket from JIRA.
# Milvus 0.5.3 (TODO)
# Milvus 0.5.3 (TODO)
## Bug
## Bug
-
\#
258 - Bytes type in proto cause big-endian/little-endian problem
## Feature
## Feature
...
...
core/src/grpc/README.md
浏览文件 @
105b9849
We manually change two APIs in "milvus.pd.h":
We manually change two APIs in "milvus.pd.h":
add_vector_data()
add_vector_data()
add_row_id_array()
add_row_id_array()
add_ids()
add_distances()
If proto files need be generated again, remember to re-change above APIs.
If proto files need be generated again, remember to re-change above APIs.
\ No newline at end of file
core/src/grpc/gen-milvus/milvus.pb.cc
浏览文件 @
105b9849
此差异已折叠。
点击以展开。
core/src/grpc/gen-milvus/milvus.pb.h
浏览文件 @
105b9849
...
@@ -1638,33 +1638,35 @@ class TopKQueryResult :
...
@@ -1638,33 +1638,35 @@ class TopKQueryResult :
// accessors -------------------------------------------------------
// accessors -------------------------------------------------------
enum
:
int
{
enum
:
int
{
kIds
BinaryFieldNumber
=
4
,
kIds
FieldNumber
=
3
,
kDistances
BinaryFieldNumber
=
5
,
kDistances
FieldNumber
=
4
,
kStatusFieldNumber
=
1
,
kStatusFieldNumber
=
1
,
kNqFieldNumber
=
2
,
kRowNumFieldNumber
=
2
,
kTopkFieldNumber
=
3
,
};
};
// bytes ids_binary = 4;
// repeated int64 ids = 3;
void
clear_ids_binary
();
int
ids_size
()
const
;
const
std
::
string
&
ids_binary
()
const
;
void
clear_ids
();
void
set_ids_binary
(
const
std
::
string
&
value
);
::
PROTOBUF_NAMESPACE_ID
::
int64
ids
(
int
index
)
const
;
void
set_ids_binary
(
std
::
string
&&
value
);
void
set_ids
(
int
index
,
::
PROTOBUF_NAMESPACE_ID
::
int64
value
);
void
set_ids_binary
(
const
char
*
value
);
// void add_ids(::PROTOBUF_NAMESPACE_ID::int64 value);
void
set_ids_binary
(
const
void
*
value
,
size_t
size
);
void
add_ids
(
std
::
vector
<::
PROTOBUF_NAMESPACE_ID
::
int64
>::
const_iterator
begin
,
std
::
string
*
mutable_ids_binary
();
std
::
vector
<::
PROTOBUF_NAMESPACE_ID
::
int64
>::
const_iterator
end
);
std
::
string
*
release_ids_binary
();
const
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
::
PROTOBUF_NAMESPACE_ID
::
int64
>&
void
set_allocated_ids_binary
(
std
::
string
*
ids_binary
);
ids
()
const
;
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
::
PROTOBUF_NAMESPACE_ID
::
int64
>*
// bytes distances_binary = 5;
mutable_ids
();
void
clear_distances_binary
();
const
std
::
string
&
distances_binary
()
const
;
// repeated float distances = 4;
void
set_distances_binary
(
const
std
::
string
&
value
);
int
distances_size
()
const
;
void
set_distances_binary
(
std
::
string
&&
value
);
void
clear_distances
();
void
set_distances_binary
(
const
char
*
value
);
float
distances
(
int
index
)
const
;
void
set_distances_binary
(
const
void
*
value
,
size_t
size
);
void
set_distances
(
int
index
,
float
value
);
std
::
string
*
mutable_distances_binary
();
// void add_distances(float value);
std
::
string
*
release_distances_binary
();
void
add_distances
(
std
::
vector
<
float
>::
const_iterator
begin
,
std
::
vector
<
float
>::
const_iterator
end
);
void
set_allocated_distances_binary
(
std
::
string
*
distances_binary
);
const
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
float
>&
distances
()
const
;
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
float
>*
mutable_distances
();
// .milvus.grpc.Status status = 1;
// .milvus.grpc.Status status = 1;
bool
has_status
()
const
;
bool
has_status
()
const
;
...
@@ -1674,26 +1676,22 @@ class TopKQueryResult :
...
@@ -1674,26 +1676,22 @@ class TopKQueryResult :
::
milvus
::
grpc
::
Status
*
mutable_status
();
::
milvus
::
grpc
::
Status
*
mutable_status
();
void
set_allocated_status
(
::
milvus
::
grpc
::
Status
*
status
);
void
set_allocated_status
(
::
milvus
::
grpc
::
Status
*
status
);
// int64 nq = 2;
// int64 row_num = 2;
void
clear_nq
();
void
clear_row_num
();
::
PROTOBUF_NAMESPACE_ID
::
int64
nq
()
const
;
::
PROTOBUF_NAMESPACE_ID
::
int64
row_num
()
const
;
void
set_nq
(
::
PROTOBUF_NAMESPACE_ID
::
int64
value
);
void
set_row_num
(
::
PROTOBUF_NAMESPACE_ID
::
int64
value
);
// int64 topk = 3;
void
clear_topk
();
::
PROTOBUF_NAMESPACE_ID
::
int64
topk
()
const
;
void
set_topk
(
::
PROTOBUF_NAMESPACE_ID
::
int64
value
);
// @@protoc_insertion_point(class_scope:milvus.grpc.TopKQueryResult)
// @@protoc_insertion_point(class_scope:milvus.grpc.TopKQueryResult)
private:
private:
class
_Internal
;
class
_Internal
;
::
PROTOBUF_NAMESPACE_ID
::
internal
::
InternalMetadataWithArena
_internal_metadata_
;
::
PROTOBUF_NAMESPACE_ID
::
internal
::
InternalMetadataWithArena
_internal_metadata_
;
::
PROTOBUF_NAMESPACE_ID
::
internal
::
ArenaStringPtr
ids_binary_
;
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
::
PROTOBUF_NAMESPACE_ID
::
int64
>
ids_
;
::
PROTOBUF_NAMESPACE_ID
::
internal
::
ArenaStringPtr
distances_binary_
;
mutable
std
::
atomic
<
int
>
_ids_cached_byte_size_
;
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
float
>
distances_
;
mutable
std
::
atomic
<
int
>
_distances_cached_byte_size_
;
::
milvus
::
grpc
::
Status
*
status_
;
::
milvus
::
grpc
::
Status
*
status_
;
::
PROTOBUF_NAMESPACE_ID
::
int64
nq_
;
::
PROTOBUF_NAMESPACE_ID
::
int64
row_num_
;
::
PROTOBUF_NAMESPACE_ID
::
int64
topk_
;
mutable
::
PROTOBUF_NAMESPACE_ID
::
internal
::
CachedSize
_cached_size_
;
mutable
::
PROTOBUF_NAMESPACE_ID
::
internal
::
CachedSize
_cached_size_
;
friend
struct
::
TableStruct_milvus_2eproto
;
friend
struct
::
TableStruct_milvus_2eproto
;
};
};
...
@@ -3154,8 +3152,8 @@ inline void RowRecord::set_vector_data(int index, float value) {
...
@@ -3154,8 +3152,8 @@ inline void RowRecord::set_vector_data(int index, float value) {
//}
//}
inline
void
RowRecord
::
add_vector_data
(
std
::
vector
<
float
>::
const_iterator
begin
,
inline
void
RowRecord
::
add_vector_data
(
std
::
vector
<
float
>::
const_iterator
begin
,
std
::
vector
<
float
>::
const_iterator
end
)
{
std
::
vector
<
float
>::
const_iterator
end
)
{
vector_data_
.
Add
(
begin
,
end
);
vector_data_
.
Add
(
begin
,
end
);
// @@protoc_insertion_point(field_add:milvus.grpc.RowRecord.vector_data)
// @@protoc_insertion_point(field_add:milvus.grpc.RowRecord.vector_data)
}
}
inline
const
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
float
>&
inline
const
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
float
>&
RowRecord
::
vector_data
()
const
{
RowRecord
::
vector_data
()
const
{
...
@@ -3274,8 +3272,8 @@ inline void InsertParam::set_row_id_array(int index, ::PROTOBUF_NAMESPACE_ID::in
...
@@ -3274,8 +3272,8 @@ inline void InsertParam::set_row_id_array(int index, ::PROTOBUF_NAMESPACE_ID::in
//}
//}
inline
void
InsertParam
::
add_row_id_array
(
std
::
vector
<::
PROTOBUF_NAMESPACE_ID
::
int64
>::
const_iterator
begin
,
inline
void
InsertParam
::
add_row_id_array
(
std
::
vector
<::
PROTOBUF_NAMESPACE_ID
::
int64
>::
const_iterator
begin
,
std
::
vector
<::
PROTOBUF_NAMESPACE_ID
::
int64
>::
const_iterator
end
)
{
std
::
vector
<::
PROTOBUF_NAMESPACE_ID
::
int64
>::
const_iterator
end
)
{
row_id_array_
.
Add
(
begin
,
end
);
row_id_array_
.
Add
(
begin
,
end
);
// @@protoc_insertion_point(field_add:milvus.grpc.InsertParam.row_id_array)
// @@protoc_insertion_point(field_add:milvus.grpc.InsertParam.row_id_array)
}
}
inline
const
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
::
PROTOBUF_NAMESPACE_ID
::
int64
>&
inline
const
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
::
PROTOBUF_NAMESPACE_ID
::
int64
>&
InsertParam
::
row_id_array
()
const
{
InsertParam
::
row_id_array
()
const
{
...
@@ -3679,134 +3677,87 @@ inline void TopKQueryResult::set_allocated_status(::milvus::grpc::Status* status
...
@@ -3679,134 +3677,87 @@ inline void TopKQueryResult::set_allocated_status(::milvus::grpc::Status* status
// @@protoc_insertion_point(field_set_allocated:milvus.grpc.TopKQueryResult.status)
// @@protoc_insertion_point(field_set_allocated:milvus.grpc.TopKQueryResult.status)
}
}
// int64
nq
= 2;
// int64
row_num
= 2;
inline
void
TopKQueryResult
::
clear_
nq
()
{
inline
void
TopKQueryResult
::
clear_
row_num
()
{
nq
_
=
PROTOBUF_LONGLONG
(
0
);
row_num
_
=
PROTOBUF_LONGLONG
(
0
);
}
}
inline
::
PROTOBUF_NAMESPACE_ID
::
int64
TopKQueryResult
::
nq
()
const
{
inline
::
PROTOBUF_NAMESPACE_ID
::
int64
TopKQueryResult
::
row_num
()
const
{
// @@protoc_insertion_point(field_get:milvus.grpc.TopKQueryResult.
nq
)
// @@protoc_insertion_point(field_get:milvus.grpc.TopKQueryResult.
row_num
)
return
nq
_
;
return
row_num
_
;
}
}
inline
void
TopKQueryResult
::
set_
nq
(
::
PROTOBUF_NAMESPACE_ID
::
int64
value
)
{
inline
void
TopKQueryResult
::
set_
row_num
(
::
PROTOBUF_NAMESPACE_ID
::
int64
value
)
{
nq
_
=
value
;
row_num
_
=
value
;
// @@protoc_insertion_point(field_set:milvus.grpc.TopKQueryResult.
nq
)
// @@protoc_insertion_point(field_set:milvus.grpc.TopKQueryResult.
row_num
)
}
}
//
int64 topk
= 3;
//
repeated int64 ids
= 3;
inline
void
TopKQueryResult
::
clear_topk
()
{
inline
int
TopKQueryResult
::
ids_size
()
const
{
topk_
=
PROTOBUF_LONGLONG
(
0
);
return
ids_
.
size
(
);
}
}
inline
::
PROTOBUF_NAMESPACE_ID
::
int64
TopKQueryResult
::
topk
()
const
{
inline
void
TopKQueryResult
::
clear_ids
()
{
// @@protoc_insertion_point(field_get:milvus.grpc.TopKQueryResult.topk)
ids_
.
Clear
();
return
topk_
;
}
}
inline
void
TopKQueryResult
::
set_topk
(
::
PROTOBUF_NAMESPACE_ID
::
int64
value
)
{
inline
::
PROTOBUF_NAMESPACE_ID
::
int64
TopKQueryResult
::
ids
(
int
index
)
const
{
// @@protoc_insertion_point(field_get:milvus.grpc.TopKQueryResult.ids)
topk_
=
value
;
return
ids_
.
Get
(
index
);
// @@protoc_insertion_point(field_set:milvus.grpc.TopKQueryResult.topk)
}
}
inline
void
TopKQueryResult
::
set_ids
(
int
index
,
::
PROTOBUF_NAMESPACE_ID
::
int64
value
)
{
// bytes ids_binary = 4;
ids_
.
Set
(
index
,
value
);
inline
void
TopKQueryResult
::
clear_ids_binary
()
{
// @@protoc_insertion_point(field_set:milvus.grpc.TopKQueryResult.ids)
ids_binary_
.
ClearToEmptyNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
());
}
}
inline
const
std
::
string
&
TopKQueryResult
::
ids_binary
()
const
{
//inline void TopKQueryResult::add_ids(::PROTOBUF_NAMESPACE_ID::int64 value) {
// @@protoc_insertion_point(field_get:milvus.grpc.TopKQueryResult.ids_binary)
// ids_.Add(value);
return
ids_binary_
.
GetNoArena
();
// // @@protoc_insertion_point(field_add:milvus.grpc.TopKQueryResult.ids)
}
//}
inline
void
TopKQueryResult
::
set_ids_binary
(
const
std
::
string
&
value
)
{
inline
void
TopKQueryResult
::
add_ids
(
std
::
vector
<::
PROTOBUF_NAMESPACE_ID
::
int64
>::
const_iterator
begin
,
std
::
vector
<::
PROTOBUF_NAMESPACE_ID
::
int64
>::
const_iterator
end
)
{
ids_binary_
.
SetNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
value
);
ids_
.
Add
(
begin
,
end
);
// @@protoc_insertion_point(field_set:milvus.grpc.TopKQueryResult.ids_binary)
// @@protoc_insertion_point(field_add:milvus.grpc.TopKQueryResult.ids)
}
inline
void
TopKQueryResult
::
set_ids_binary
(
std
::
string
&&
value
)
{
ids_binary_
.
SetNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
::
std
::
move
(
value
));
// @@protoc_insertion_point(field_set_rvalue:milvus.grpc.TopKQueryResult.ids_binary)
}
inline
void
TopKQueryResult
::
set_ids_binary
(
const
char
*
value
)
{
GOOGLE_DCHECK
(
value
!=
nullptr
);
ids_binary_
.
SetNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
::
std
::
string
(
value
));
// @@protoc_insertion_point(field_set_char:milvus.grpc.TopKQueryResult.ids_binary)
}
inline
void
TopKQueryResult
::
set_ids_binary
(
const
void
*
value
,
size_t
size
)
{
ids_binary_
.
SetNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
::
std
::
string
(
reinterpret_cast
<
const
char
*>
(
value
),
size
));
// @@protoc_insertion_point(field_set_pointer:milvus.grpc.TopKQueryResult.ids_binary)
}
inline
std
::
string
*
TopKQueryResult
::
mutable_ids_binary
()
{
// @@protoc_insertion_point(field_mutable:milvus.grpc.TopKQueryResult.ids_binary)
return
ids_binary_
.
MutableNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
());
}
}
inline
std
::
string
*
TopKQueryResult
::
release_ids_binary
()
{
inline
const
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
::
PROTOBUF_NAMESPACE_ID
::
int64
>&
// @@protoc_insertion_point(field_release:milvus.grpc.TopKQueryResult.ids_binary)
TopKQueryResult
::
ids
()
const
{
// @@protoc_insertion_point(field_list:milvus.grpc.TopKQueryResult.ids)
return
ids_
binary_
.
ReleaseNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
())
;
return
ids_
;
}
}
inline
void
TopKQueryResult
::
set_allocated_ids_binary
(
std
::
string
*
ids_binary
)
{
inline
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
::
PROTOBUF_NAMESPACE_ID
::
int64
>*
if
(
ids_binary
!=
nullptr
)
{
TopKQueryResult
::
mutable_ids
()
{
// @@protoc_insertion_point(field_mutable_list:milvus.grpc.TopKQueryResult.ids)
}
else
{
return
&
ids_
;
}
ids_binary_
.
SetAllocatedNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
ids_binary
);
// @@protoc_insertion_point(field_set_allocated:milvus.grpc.TopKQueryResult.ids_binary)
}
}
// bytes distances_binary = 5;
// repeated float distances = 4;
inline
void
TopKQueryResult
::
clear_distances_binary
()
{
inline
int
TopKQueryResult
::
distances_size
()
const
{
distances_binary_
.
ClearToEmptyNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
());
return
distances_
.
size
();
}
inline
const
std
::
string
&
TopKQueryResult
::
distances_binary
()
const
{
// @@protoc_insertion_point(field_get:milvus.grpc.TopKQueryResult.distances_binary)
return
distances_binary_
.
GetNoArena
();
}
inline
void
TopKQueryResult
::
set_distances_binary
(
const
std
::
string
&
value
)
{
distances_binary_
.
SetNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
value
);
// @@protoc_insertion_point(field_set:milvus.grpc.TopKQueryResult.distances_binary)
}
}
inline
void
TopKQueryResult
::
set_distances_binary
(
std
::
string
&&
value
)
{
inline
void
TopKQueryResult
::
clear_distances
()
{
distances_
.
Clear
();
distances_binary_
.
SetNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
::
std
::
move
(
value
));
// @@protoc_insertion_point(field_set_rvalue:milvus.grpc.TopKQueryResult.distances_binary)
}
}
inline
void
TopKQueryResult
::
set_distances_binary
(
const
char
*
value
)
{
inline
float
TopKQueryResult
::
distances
(
int
index
)
const
{
GOOGLE_DCHECK
(
value
!=
nullptr
);
// @@protoc_insertion_point(field_get:milvus.grpc.TopKQueryResult.distances)
return
distances_
.
Get
(
index
);
distances_binary_
.
SetNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
::
std
::
string
(
value
));
// @@protoc_insertion_point(field_set_char:milvus.grpc.TopKQueryResult.distances_binary)
}
}
inline
void
TopKQueryResult
::
set_distances_binary
(
const
void
*
value
,
size_t
size
)
{
inline
void
TopKQueryResult
::
set_distances
(
int
index
,
float
value
)
{
distances_
.
Set
(
index
,
value
);
distances_binary_
.
SetNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
// @@protoc_insertion_point(field_set:milvus.grpc.TopKQueryResult.distances)
::
std
::
string
(
reinterpret_cast
<
const
char
*>
(
value
),
size
));
// @@protoc_insertion_point(field_set_pointer:milvus.grpc.TopKQueryResult.distances_binary)
}
}
inline
std
::
string
*
TopKQueryResult
::
mutable_distances_binary
()
{
//inline void TopKQueryResult::add_distances(float value) {
// distances_.Add(value);
// @@protoc_insertion_point(field_mutable:milvus.grpc.TopKQueryResult.distances_binary)
// // @@protoc_insertion_point(field_add:milvus.grpc.TopKQueryResult.distances)
return
distances_binary_
.
MutableNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
());
//}
inline
void
TopKQueryResult
::
add_distances
(
std
::
vector
<
float
>::
const_iterator
begin
,
std
::
vector
<
float
>::
const_iterator
end
)
{
distances_
.
Add
(
begin
,
end
);
// @@protoc_insertion_point(field_add:milvus.grpc.TopKQueryResult.distances)
}
}
inline
std
::
string
*
TopKQueryResult
::
release_distances_binary
()
{
inline
const
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
float
>&
// @@protoc_insertion_point(field_release:milvus.grpc.TopKQueryResult.distances_binary)
TopKQueryResult
::
distances
()
const
{
// @@protoc_insertion_point(field_list:milvus.grpc.TopKQueryResult.distances)
return
distances_
binary_
.
ReleaseNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
())
;
return
distances_
;
}
}
inline
void
TopKQueryResult
::
set_allocated_distances_binary
(
std
::
string
*
distances_binary
)
{
inline
::
PROTOBUF_NAMESPACE_ID
::
RepeatedField
<
float
>*
if
(
distances_binary
!=
nullptr
)
{
TopKQueryResult
::
mutable_distances
()
{
// @@protoc_insertion_point(field_mutable_list:milvus.grpc.TopKQueryResult.distances)
}
else
{
return
&
distances_
;
}
distances_binary_
.
SetAllocatedNoArena
(
&::
PROTOBUF_NAMESPACE_ID
::
internal
::
GetEmptyStringAlreadyInited
(),
distances_binary
);
// @@protoc_insertion_point(field_set_allocated:milvus.grpc.TopKQueryResult.distances_binary)
}
}
// -------------------------------------------------------------------
// -------------------------------------------------------------------
...
...
core/src/grpc/milvus.proto
浏览文件 @
105b9849
...
@@ -86,10 +86,9 @@ message SearchInFilesParam {
...
@@ -86,10 +86,9 @@ message SearchInFilesParam {
*/
*/
message
TopKQueryResult
{
message
TopKQueryResult
{
Status
status
=
1
;
Status
status
=
1
;
int64
nq
=
2
;
int64
row_num
=
2
;
int64
topk
=
3
;
repeated
int64
ids
=
3
;
bytes
ids_binary
=
4
;
repeated
float
distances
=
4
;
bytes
distances_binary
=
5
;
}
}
/**
/**
...
...
core/src/sdk/examples/grpcsimple/src/ClientTest.cpp
浏览文件 @
105b9849
...
@@ -60,7 +60,7 @@ PrintSearchResult(const std::vector<std::pair<int64_t, milvus::RowRecord>>& sear
...
@@ -60,7 +60,7 @@ PrintSearchResult(const std::vector<std::pair<int64_t, milvus::RowRecord>>& sear
const
milvus
::
TopKQueryResult
&
topk_query_result
)
{
const
milvus
::
TopKQueryResult
&
topk_query_result
)
{
BLOCK_SPLITER
BLOCK_SPLITER
size_t
nq
=
topk_query_result
.
row_num
;
size_t
nq
=
topk_query_result
.
row_num
;
size_t
topk
=
topk_query_result
.
topk
;
size_t
topk
=
topk_query_result
.
ids
.
size
()
/
nq
;
std
::
cout
<<
"Returned result count: "
<<
nq
*
topk
<<
std
::
endl
;
std
::
cout
<<
"Returned result count: "
<<
nq
*
topk
<<
std
::
endl
;
int32_t
index
=
0
;
int32_t
index
=
0
;
...
@@ -169,7 +169,7 @@ CheckResult(const std::vector<std::pair<int64_t, milvus::RowRecord>>& search_rec
...
@@ -169,7 +169,7 @@ CheckResult(const std::vector<std::pair<int64_t, milvus::RowRecord>>& search_rec
const
milvus
::
TopKQueryResult
&
topk_query_result
)
{
const
milvus
::
TopKQueryResult
&
topk_query_result
)
{
BLOCK_SPLITER
BLOCK_SPLITER
size_t
nq
=
topk_query_result
.
row_num
;
size_t
nq
=
topk_query_result
.
row_num
;
size_t
result_k
=
topk_query_result
.
topk
;
size_t
result_k
=
topk_query_result
.
ids
.
size
()
/
nq
;
int64_t
index
=
0
;
int64_t
index
=
0
;
for
(
size_t
i
=
0
;
i
<
nq
;
i
++
)
{
for
(
size_t
i
=
0
;
i
<
nq
;
i
++
)
{
auto
result_id
=
topk_query_result
.
ids
[
i
*
result_k
];
auto
result_id
=
topk_query_result
.
ids
[
i
*
result_k
];
...
...
core/src/sdk/grpc/ClientProxy.cpp
浏览文件 @
105b9849
...
@@ -237,12 +237,12 @@ ClientProxy::Search(const std::string& table_name, const std::vector<RowRecord>&
...
@@ -237,12 +237,12 @@ ClientProxy::Search(const std::string& table_name, const std::vector<RowRecord>&
Status
status
=
client_ptr_
->
Search
(
result
,
search_param
);
Status
status
=
client_ptr_
->
Search
(
result
,
search_param
);
// step 4: convert result array
// step 4: convert result array
topk_query_result
.
row_num
=
result
.
nq
();
topk_query_result
.
row_num
=
result
.
row_num
();
topk_query_result
.
topk
=
result
.
topk
(
);
topk_query_result
.
ids
.
resize
(
result
.
ids
().
size
()
);
topk_query_result
.
ids
.
resize
(
result
.
ids_binary
().
size
(
));
memcpy
(
topk_query_result
.
ids
.
data
(),
result
.
ids
().
data
(),
result
.
ids
().
size
()
*
sizeof
(
int64_t
));
memcpy
(
topk_query_result
.
ids
.
data
(),
result
.
ids_binary
().
data
(),
result
.
ids_binary
().
size
());
topk_query_result
.
distances
.
resize
(
result
.
distances
().
size
());
topk_query_result
.
distances
.
resize
(
result
.
distances_binary
().
size
());
memcpy
(
topk_query_result
.
distances
.
data
(),
result
.
distances
().
data
(),
memcpy
(
topk_query_result
.
distances
.
data
(),
result
.
distances_binary
().
data
(),
result
.
distances_binary
().
size
(
));
result
.
distances
().
size
()
*
sizeof
(
float
));
return
status
;
return
status
;
}
catch
(
std
::
exception
&
ex
)
{
}
catch
(
std
::
exception
&
ex
)
{
...
...
core/src/sdk/include/MilvusApi.h
浏览文件 @
105b9849
...
@@ -83,7 +83,6 @@ struct RowRecord {
...
@@ -83,7 +83,6 @@ struct RowRecord {
*/
*/
struct
TopKQueryResult
{
struct
TopKQueryResult
{
int64_t
row_num
;
int64_t
row_num
;
int64_t
topk
;
std
::
vector
<
int64_t
>
ids
;
std
::
vector
<
int64_t
>
ids
;
std
::
vector
<
float
>
distances
;
std
::
vector
<
float
>
distances
;
};
};
...
...
core/src/server/grpc_impl/GrpcRequestTask.cpp
浏览文件 @
105b9849
...
@@ -669,23 +669,10 @@ SearchTask::OnExecute() {
...
@@ -669,23 +669,10 @@ SearchTask::OnExecute() {
return
Status
::
OK
();
// empty table
return
Status
::
OK
();
// empty table
}
}
size_t
result_k
=
result_ids
.
size
()
/
record_count
;
// step 7: construct result array
// step 7: construct result array
topk_result_
->
set_nq
(
record_count
);
topk_result_
->
set_row_num
(
record_count
);
topk_result_
->
set_topk
(
result_ids
.
size
()
/
record_count
);
topk_result_
->
add_ids
(
result_ids
.
begin
(),
result_ids
.
end
());
topk_result_
->
add_distances
(
result_distances
.
begin
(),
result_distances
.
end
());
std
::
string
ids_str
;
size_t
ids_len
=
sizeof
(
int64_t
)
*
result_ids
.
size
();
ids_str
.
resize
(
ids_len
);
memcpy
((
void
*
)(
ids_str
.
data
()),
result_ids
.
data
(),
ids_len
);
topk_result_
->
set_ids_binary
(
std
::
move
(
ids_str
));
std
::
string
distances_str
;
size_t
distances_len
=
sizeof
(
float
)
*
result_distances
.
size
();
distances_str
.
resize
(
distances_len
);
memcpy
((
void
*
)(
distances_str
.
data
()),
result_distances
.
data
(),
distances_len
);
topk_result_
->
set_distances_binary
(
std
::
move
(
distances_str
));
// step 8: print time cost percent
// step 8: print time cost percent
rc
.
RecordSection
(
"construct result and send"
);
rc
.
RecordSection
(
"construct result and send"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录