API文档
# VectoRex-Server-API
# 向量集合管理
# 获取集合列表
接口地址:/vectorex/get/collections
请求方式:POST
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
获取所有向量集合的列表
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponseListVectoRexEntity |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | array | VectoRexEntity | |
collectionName | string | ||
vectorFileds | array | KeyValueStringVectorFiled | |
key | string | ||
value | VectorFiled | VectorFiled | |
name | string | ||
metricType | 可用值:FLOAT_COSINE_DISTANCE,FLOAT_INNER_PRODUCT,FLOAT_EUCLIDEAN_DISTANCE,FLOAT_CANBERRA_DISTANCE,FLOAT_BRAY_CURTIS_DISTANCE,FLOAT_CORRELATION_DISTANCE,FLOAT_MANHATTAN_DISTANCE | string | |
dimensions | integer | ||
scalarFields | array | KeyValueStringScalarField | |
key | string | ||
value | ScalarField | ScalarField | |
name | string | ||
isPrimaryKey | boolean | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": [
{
"collectionName": "",
"vectorFileds": [
{
"key": "",
"value": {
"name": "",
"metricType": "",
"dimensions": 0
}
}
],
"scalarFields": [
{
"key": "",
"value": {
"name": "",
"isPrimaryKey": true
}
}
]
}
],
"success": true
}
# 删除集合
接口地址:/vectorex/del/collections/{collection}
请求方式:POST
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
根据集合名称删除指定的向量集合
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
collection | path | true | string | ||
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponse |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {},
"success": true
}
# 更新集合数据
接口地址:/vectorex/collections/data/update
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
更新指定集合中的数据
请求示例:
{
"metadata": {
"key1": "value1",
"key2": "value2"
},
"collectionName": "my_collection"
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
collectionDataAddReq | 添加集合数据请求参数 | body | true | CollectionDataAddReq | CollectionDataAddReq |
metadata | 数据,键值对形式 | false | object | ||
collectionName | 集合名称 | false | string | ||
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponse |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {},
"success": true
}
# 查询集合数据
接口地址:/vectorex/collections/data/query
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
根据条件查询指定集合中的数据
请求示例:
{
"collectionName": "my_collection",
"query": [
{
"operator": "eq",
"field": "age",
"value": 30,
"start": 20,
"end": 40,
"conditionFiledReq": [
{
"operator": "eq",
"field": "age",
"value": 30,
"start": 20,
"end": 40,
"conditionFiledReq": [
{}
]
}
]
}
],
"vector": [
0.1,
0.2,
0.3
],
"vectorFieldName": "vector_field",
"topK": 10
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
collectionDataQueryReq | 查询集合数据请求参数 | body | true | CollectionDataQueryReq | CollectionDataQueryReq |
collectionName | 集合名称 | false | string | ||
query | 条件字段请求参数 | false | array | ConditionFiledReq | |
operator | 操作符 | false | string | ||
field | 字段名称 | false | string | ||
value | 字段值 | false | object | ||
start | 范围查询起始值 | false | object | ||
end | 范围查询结束值 | false | object | ||
conditionFiledReq | 嵌套条件字段 | false | array | ConditionFiledReq | |
vector | 向量数据 | false | array | number(float) | |
vectorFieldName | 向量字段名称 | false | string | ||
topK | 返回的最相似结果数量 | false | integer(int32) | ||
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponseListVectorSearchResult |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | array | VectorSearchResult | |
id | string | ||
score | number(float) | ||
data | DbData | DbData | |
id | string | ||
vectorFiled | array | VectorData | |
name | string | ||
metadata | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": [
{
"id": "",
"score": 0,
"data": {
"id": "",
"vectorFiled": [
{
"name": ""
}
],
"metadata": {}
}
}
],
"success": true
}
# 分页查询集合数据
接口地址:/vectorex/collections/data/page
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
根据条件查询指定集合中的数据
请求示例:
{
"pageIndex": 1,
"pageSize": 10,
"collectionName": "my_collection",
"query": [
{
"operator": "eq",
"field": "age",
"value": 30,
"start": 20,
"end": 40,
"conditionFiledReq": [
{
"operator": "eq",
"field": "age",
"value": 30,
"start": 20,
"end": 40,
"conditionFiledReq": [
{}
]
}
]
}
],
"vector": [
0.1,
0.2,
0.3
],
"vectorFieldName": "vector_field",
"topK": 10
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
collectionDataPageReq | 分页查询集合数据请求参数 | body | true | CollectionDataPageReq | CollectionDataPageReq |
pageIndex | 页码,默认为1 | false | integer(int32) | ||
pageSize | 页大小,默认为10 | false | integer(int32) | ||
collectionName | 集合名称 | false | string | ||
query | 条件字段请求参数 | false | array | ConditionFiledReq | |
operator | 操作符 | false | string | ||
field | 字段名称 | false | string | ||
value | 字段值 | false | object | ||
start | 范围查询起始值 | false | object | ||
end | 范围查询结束值 | false | object | ||
conditionFiledReq | 嵌套条件字段 | false | array | ConditionFiledReq | |
vector | 向量数据 | false | array | number(float) | |
vectorFieldName | 向量字段名称 | false | string | ||
topK | 返回的最相似结果数量 | false | integer(int32) | ||
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponsePageResultVectorSearchResult |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | PageResultVectorSearchResult | PageResultVectorSearchResult | |
data | 当前页数据 | array | VectorSearchResult |
id | string | ||
score | number | ||
data | DbData | DbData | |
id | string | ||
vectorFiled | array | VectorData | |
name | string | ||
metadata | object | ||
totalRecords | 总记录数 | integer(int64) | |
totalPages | 总页数 | integer(int32) | |
pageIndex | 当前页码 | integer(int32) | |
pageSize | 每页大小 | integer(int32) | |
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {
"data": [
{
"id": "",
"score": 0,
"data": {
"id": "",
"vectorFiled": [
{
"name": ""
}
],
"metadata": {}
}
}
],
"totalRecords": 0,
"totalPages": 0,
"pageIndex": 0,
"pageSize": 0
},
"success": true
}
# 删除集合数据
接口地址:/vectorex/collections/data/del
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
从指定集合中删除数据
请求示例:
{
"collectionName": "my_collection",
"id": "12345"
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
collectionDataDelReq | 删除集合数据请求参数 | body | true | CollectionDataDelReq | CollectionDataDelReq |
collectionName | 集合名称 | false | string | ||
id | 数据唯一标识 | false | string | ||
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponse |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {},
"success": true
}
# 添加集合数据
接口地址:/vectorex/collections/data/add
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
向指定集合中添加数据
请求示例:
{
"metadata": {
"key1": "value1",
"key2": "value2"
},
"collectionName": "my_collection"
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
collectionDataAddReq | 添加集合数据请求参数 | body | true | CollectionDataAddReq | CollectionDataAddReq |
metadata | 数据,键值对形式 | false | object | ||
collectionName | 集合名称 | false | string | ||
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponse |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {},
"success": true
}
# 创建集合
接口地址:/vectorex/add/collections
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
根据请求参数创建一个新的向量集合
请求示例:
{
"collectionName": "my_collection",
"vectorFileds": [
{
"name": "",
"metricType": "",
"dimensions": 0
}
],
"scalarFields": [
{
"name": "",
"isPrimaryKey": true
}
]
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
vectoRexCollectionReq | 创建集合请求参数 | body | true | VectoRexCollectionReq | VectoRexCollectionReq |
collectionName | 集合名称 | false | string | ||
vectorFileds | 向量字段列表 | false | array | VectorFiled | |
name | false | string | |||
metricType | 可用值:FLOAT_COSINE_DISTANCE,FLOAT_INNER_PRODUCT,FLOAT_EUCLIDEAN_DISTANCE,FLOAT_CANBERRA_DISTANCE,FLOAT_BRAY_CURTIS_DISTANCE,FLOAT_CORRELATION_DISTANCE,FLOAT_MANHATTAN_DISTANCE | false | string | ||
dimensions | false | integer | |||
scalarFields | 标量字段列表 | false | array | ScalarField | |
name | false | string | |||
isPrimaryKey | false | boolean | |||
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponse |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {},
"success": true
}
# 指标监控
# 获取 JVM 指标
接口地址:/vectorex/metrics/jvm
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
获取当前 JVM 的内存、线程和垃圾回收(GC)相关指标
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponse |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {},
"success": true
}
# 登录
# logout
接口地址:/vectorex/logout
请求方式:POST
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponse |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {},
"success": true
}
# login
接口地址:/vectorex/login
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
请求示例:
{
"username": "",
"password": ""
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
loginUser | LoginUser | body | true | LoginUser | LoginUser |
username | false | string | |||
password | false | string | |||
token | header | false | string |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | ServerResponse |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
status | integer(int32) | integer(int32) | |
msg | string | ||
data | object | ||
success | boolean |
响应示例:
{
"status": 0,
"msg": "",
"data": {},
"success": true
}