Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
4beb0549
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,发现更多精彩内容 >>
未验证
提交
4beb0549
编写于
8月 14, 2020
作者:
Y
yukun
提交者:
GitHub
8月 14, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add web server interface (#3257)
Signed-off-by:
N
fishpenguin
<
kun.yu@zilliz.com
>
上级
6f5be4b5
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
558 addition
and
855 deletion
+558
-855
core/src/server/grpc_impl/GrpcRequestHandler.cpp
core/src/server/grpc_impl/GrpcRequestHandler.cpp
+5
-5
core/src/server/web_impl/Types.h
core/src/server/web_impl/Types.h
+8
-0
core/src/server/web_impl/controller/WebController.hpp
core/src/server/web_impl/controller/WebController.hpp
+207
-372
core/src/server/web_impl/handler/WebRequestHandler.cpp
core/src/server/web_impl/handler/WebRequestHandler.cpp
+323
-464
core/src/server/web_impl/handler/WebRequestHandler.h
core/src/server/web_impl/handler/WebRequestHandler.h
+14
-13
sdk/examples/simple/src/ClientTest.cpp
sdk/examples/simple/src/ClientTest.cpp
+1
-1
未找到文件。
core/src/server/grpc_impl/GrpcRequestHandler.cpp
浏览文件 @
4beb0549
...
...
@@ -1698,17 +1698,17 @@ GrpcRequestHandler::DeserializeJsonToBoolQuery(
if
(
vector_param_it
!=
it
.
value
().
end
())
{
const
std
::
string
&
field_name
=
vector_param_it
.
key
();
vector_query
->
field_name
=
field_name
;
nlohmann
::
json
vector
_json
=
vector_param_it
.
value
();
int64_t
topk
=
vector
_json
[
"topk"
];
nlohmann
::
json
param
_json
=
vector_param_it
.
value
();
int64_t
topk
=
param
_json
[
"topk"
];
status
=
server
::
ValidateSearchTopk
(
topk
);
if
(
!
status
.
ok
())
{
return
status
;
}
vector_query
->
topk
=
topk
;
if
(
vector
_json
.
contains
(
"metric_type"
))
{
std
::
string
metric_type
=
vector
_json
[
"metric_type"
];
if
(
param
_json
.
contains
(
"metric_type"
))
{
std
::
string
metric_type
=
param
_json
[
"metric_type"
];
vector_query
->
metric_type
=
metric_type
;
query_ptr
->
metric_types
.
insert
({
field_name
,
vector
_json
[
"metric_type"
]});
query_ptr
->
metric_types
.
insert
({
field_name
,
param
_json
[
"metric_type"
]});
}
if
(
!
vector_param_it
.
value
()[
"params"
].
empty
())
{
vector_query
->
extra_params
=
vector_param_it
.
value
()[
"params"
];
...
...
core/src/server/web_impl/Types.h
浏览文件 @
4beb0549
...
...
@@ -11,6 +11,7 @@
#pragma once
#include <map>
#include <string>
#include <unordered_map>
...
...
@@ -72,6 +73,13 @@ enum StatusCode : int {
MAX
=
ILLEGAL_QUERY_PARAM
};
static
std
::
map
<
std
::
string
,
engine
::
DataType
>
str2type
=
{{
"int32"
,
engine
::
DataType
::
INT32
},
{
"int64"
,
engine
::
DataType
::
INT64
},
{
"float"
,
engine
::
DataType
::
FLOAT
},
{
"double"
,
engine
::
DataType
::
DOUBLE
},
{
"vector_float"
,
engine
::
DataType
::
VECTOR_FLOAT
},
{
"vector_binary"
,
engine
::
DataType
::
VECTOR_BINARY
}};
}
// namespace web
}
// namespace server
}
// namespace milvus
core/src/server/web_impl/controller/WebController.hpp
浏览文件 @
4beb0549
此差异已折叠。
点击以展开。
core/src/server/web_impl/handler/WebRequestHandler.cpp
浏览文件 @
4beb0549
此差异已折叠。
点击以展开。
core/src/server/web_impl/handler/WebRequestHandler.h
浏览文件 @
4beb0549
...
...
@@ -85,7 +85,11 @@ class WebRequestHandler {
IsBinaryCollection
(
const
std
::
string
&
collection_name
,
bool
&
bin
);
Status
CopyRecordsFromJson
(
const
nlohmann
::
json
&
json
,
engine
::
VectorsData
&
vectors
,
bool
bin
);
CopyRecordsFromJson
(
const
nlohmann
::
json
&
json
,
std
::
vector
<
uint8_t
>&
vectors_data
,
bool
bin
);
Status
CopyData2Json
(
const
engine
::
DataChunkPtr
&
data_chunk
,
const
engine
::
snapshot
::
FieldElementMappings
&
field_mappings
,
const
std
::
vector
<
int64_t
>&
id_array
,
nlohmann
::
json
&
json_res
);
protected:
Status
...
...
@@ -124,10 +128,12 @@ class WebRequestHandler {
SetConfig
(
const
nlohmann
::
json
&
json
,
std
::
string
&
result_str
);
Status
ProcessLeafQueryJson
(
const
nlohmann
::
json
&
json
,
query
::
BooleanQueryPtr
&
boolean_query
);
ProcessLeafQueryJson
(
const
nlohmann
::
json
&
json
,
query
::
BooleanQueryPtr
&
boolean_query
,
std
::
string
&
field_name
,
query
::
QueryPtr
&
query_ptr
);
Status
ProcessBoolQueryJson
(
const
nlohmann
::
json
&
query_json
,
query
::
BooleanQueryPtr
&
boolean_query
);
ProcessBooleanQueryJson
(
const
nlohmann
::
json
&
query_json
,
query
::
BooleanQueryPtr
&
boolean_query
,
query
::
QueryPtr
&
query_ptr
);
Status
Search
(
const
std
::
string
&
collection_name
,
const
nlohmann
::
json
&
json
,
std
::
string
&
result_str
);
...
...
@@ -135,9 +141,6 @@ class WebRequestHandler {
Status
DeleteByIDs
(
const
std
::
string
&
collection_name
,
const
nlohmann
::
json
&
json
,
std
::
string
&
result_str
);
Status
GetVectorsByIDs
(
const
std
::
string
&
collection_name
,
const
std
::
vector
<
int64_t
>&
ids
,
nlohmann
::
json
&
json_out
);
Status
GetEntityByIDs
(
const
std
::
string
&
collection_name
,
const
std
::
vector
<
int64_t
>&
ids
,
std
::
vector
<
std
::
string
>&
field_names
,
nlohmann
::
json
&
json_out
);
...
...
@@ -167,12 +170,10 @@ class WebRequestHandler {
#endif
StatusDto
::
ObjectWrapper
CreateCollection
(
const
CollectionRequestDto
::
ObjectWrapper
&
table_schema
);
StatusDto
::
ObjectWrapper
ShowCollections
(
const
OQueryParams
&
query_params
,
OString
&
result
);
CreateCollection
(
const
milvus
::
server
::
web
::
OString
&
body
);
StatusDto
::
ObjectWrapper
CreateHybridCollection
(
const
OString
&
body
);
ShowCollections
(
const
OQueryParams
&
query_params
,
OString
&
result
);
StatusDto
::
ObjectWrapper
GetCollection
(
const
OString
&
collection_name
,
const
OQueryParams
&
query_params
,
OString
&
result
);
...
...
@@ -181,10 +182,10 @@ class WebRequestHandler {
DropCollection
(
const
OString
&
collection_name
);
StatusDto
::
ObjectWrapper
CreateIndex
(
const
OString
&
collection_name
,
const
OString
&
body
);
CreateIndex
(
const
OString
&
collection_name
,
const
OString
&
field_name
,
const
OString
&
body
);
StatusDto
::
ObjectWrapper
DropIndex
(
const
OString
&
collection_name
);
DropIndex
(
const
OString
&
collection_name
,
const
OString
&
field_name
);
StatusDto
::
ObjectWrapper
CreatePartition
(
const
OString
&
collection_name
,
const
PartitionRequestDto
::
ObjectWrapper
&
param
);
...
...
@@ -221,7 +222,7 @@ class WebRequestHandler {
GetVector
(
const
OString
&
collection_name
,
const
OQueryParams
&
query_params
,
OString
&
response
);
StatusDto
::
ObjectWrapper
Vectors
Op
(
const
OString
&
collection_name
,
const
OString
&
payload
,
OString
&
response
);
Entity
Op
(
const
OString
&
collection_name
,
const
OString
&
payload
,
OString
&
response
);
/**
*
...
...
sdk/examples/simple/src/ClientTest.cpp
浏览文件 @
4beb0549
...
...
@@ -27,7 +27,7 @@ const char* COLLECTION_NAME = milvus_sdk::Utils::GenCollectionName().c_str();
constexpr
int64_t
COLLECTION_DIMENSION
=
512
;
constexpr
int64_t
COLLECTION_INDEX_FILE_SIZE
=
1024
;
constexpr
milvus
::
MetricType
COLLECTION_METRIC_TYPE
=
milvus
::
MetricType
::
L2
;
constexpr
int64_t
BATCH_ENTITY_COUNT
=
4
000
;
constexpr
int64_t
BATCH_ENTITY_COUNT
=
10
000
;
constexpr
int64_t
NQ
=
5
;
constexpr
int64_t
TOP_K
=
10
;
constexpr
int64_t
NPROBE
=
32
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录