You need to enable JavaScript to run this app.
导航
标量排序检索
最近更新时间:2025.01.10 19:13:06首次发布时间:2025.01.10 19:13:06

/index/search 接口用于实现检索,本页面主要介绍如何实现标量排序检索。
向量数据库中的标量排序检索指的是基于标量值的检索方法。在向量数据库中,每个向量都有一个或多个标量值,标量排序检索可以基于这些标量值进行检索,找到与查询相关的数据。例如文档检索中的作者特征检索。

请求接口

说明

请求向量数据库 VikingDB 的 OpenAPI 接口时,需要构造签名进行鉴权,详细的 OpenAPI 签名调用方法请参见 API签名调用指南

URI

/api/index/search

统一资源标识符

请求方法

POST

客户端对向量数据库服务器请求的操作类型

请求头

Content-Type: application/json

请求消息类型

Authorization: HMAC-SHA256 ***

鉴权

请求参数

在向量近邻检索的基础上,您可以使用 order_by_scalar 子参数进行标量检索。

参数

子参数

类型

是否必选

默认值

参数说明

search

order_by_scalar

map

根据标量字段做排序。

  • field_name: 字段名。约束:必须为此字段建立 range 索引
  • order:asc(ascending,升序)、desc(descending,降序)。

注意

order 和 field_name 两个参数必须同时配置,如果两个参数均未配置,则直接返回符合filter条件的limit条数据,且检索结果随机排序。

响应消息

参数

参数说明

code

状态码

message

返回信息

request_id

标识每个请求的唯一标识符

data

检索结果,标量检索会返回检索到的主键、score、fields。

状态码说明

状态码

http状态码

返回信息

状态码说明

0

200

drop index success

Index 检索成功。

1000008

400

index not exist

指定的 Index 不存在。

1000003

400

invalid request

非法参数:

  • 缺失必选参数。
  • 缺乏检索输入。
  • 不满足约束条件。

1000001

401

unauthorized

请求头中缺乏鉴权信息。

1000002

403

no permission

权限不足。

1000019

400

dsl使用错误信息

dsl格式错误

1000029

429

请求已达上限, 请调整CPU核数

需要调大 cpu_quota

完整示例

请求消息

curl -i -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: HMAC-SHA256 ***' \
  https://api-vikingdb.volces.com/api/index/search \
  -d '{
    "collection_name": "test_name",    //用于检索的集合的名称
    "index_name": "index_test",     //用于检索的索引名称
    "search": {
         "order_by_scalar": {    //按标量字段排序的规则
            "field_name": "house_price",    //用于排序的字段名称:房价
            "order": "desc",    //排序顺序:降序
        },
        "limit": 2,    //限制返回的结果数量为 2
    }
}'

响应消息

执行成功返回:

HTTP/1.1 200 OK
Content-Length: 43
Content-Type: application/json
 
{
    "code":0,
    "msg":"search success",
    "request_id":"021695029736548fd001de66666000000000000000000029aa917",
    "data": [
        [
            {
                "id": 1,
                "score": 0.99,
                "fields": {
                    "time": 1690529704,
                    "author": "zhangsan"
                } 
            },
            {
                "id": 2,
                "score": 0.98,
                "fields": {
                    "time": 1690529701,
                    "author": "lisi"
                }  
            }
        ],
    ]
}

执行失败返回:

HTTP/1.1 400 OK
Content-Length: 43
Content-Type: application/json
 
{"code":1000008, "msg":"index not exist", "request_id":"021695029736548fd001de66666000000000000000000029aa917"}