/index/fetch_data 接口用于根据主键在指定的 Index 查询单条或多条数据,单次最多可查询100条数据。
说明
Collection 数据写入/删除后,Index 数据更新时间最长滞后 20s,不能立即在 Index 查询到。
说明
请求向量数据库 VikingDB 的 OpenAPI 接口时,需要构造签名进行鉴权,详细的 OpenAPI 签名调用方法请参见 API签名调用指南。
URI | /api/index/fetch_data | 统一资源标识符 |
---|---|---|
请求方法 | GET | 客户端对向量数据库服务器请求的操作类型 |
请求头 | Content-Type: application/json | 请求消息类型 |
Authorization: HMAC-SHA256 *** | 鉴权 |
参数 | 类型 | 是否必选 | 参数说明 |
---|---|---|---|
collection_name/collection_alias | string | 是 | 指定查询数据的 Collection 名称/别名。
|
index_name | string | 是 | 指定查询数据的 Index 名称。
|
primary_keys | int64、 | 是 | 指定主键字段值,单次最多查询100条数据。primary_keys设置为不同类型时,数据查询逻辑如下:
|
partition | int64 / string | 否 | 子索引名称,类型与 partition_by 的 field_type 一致,字段值对应 partition_by 的 field_value。
不设置默认为"default"。 |
output_fields | list<string> | 否 | 过滤标量字段,指定要返回的标量字段列表。
|
参数 | 参数说明 |
---|---|
code | 状态码 |
message | 返回信息 |
request_id | 标识每个请求的唯一标识符 |
data | 返回查询的数据。
|
状态码 | http状态码 | 返回信息 | 状态码说明 |
---|---|---|---|
0 | 200 | success | 在指定的 Index 查询数据成功。 |
1000008 | 400 | index not exist | Index 不存在。 |
1000003 | 400 | invalid request:%s | 非法参数:
|
1000001 | 401 | unauthorized | 请求头中缺乏鉴权信息。 |
1000002 | 403 | no permission | 权限不足。 |
curl -i -X GET \ -H 'Content-Type: application/json' \ -H 'Authorization: HMAC-SHA256 ***' \ https://api-vikingdb.volces.com/api/index/fetch_data \ -d '{ "collection_name": "test_name", "primary_keys": [123,456], "output_fields": ["time", "author", "vector_field"] }'
执行成功返回:
HTTP/1.1 200 OK Content-Length: 43 Content-Type: application/json { "code":0, "msg":"fetch data success", "request_id":"021695029537650fd001de666660000000000000000000230da93", "data": [ { "id": "123", "vector": [0.10, 0.13.........0.52], "dimension": 768, "fields": [ "time": 1690529701, "author": "zhangsan", "vector_field": [0.10, 0.13.........0.52] ] }, { "id": "456", // 查不到,则没有vector, 并返回提示信息 "message": "no data found" } ] }
执行失败返回:
HTTP/1.1 400 OK Content-Length: 43 Content-Type: application/json {"code": 1000008, "msg": "index not exist", "request_id":"021695029537650fd001de666660000000000000000000230da93"}