You need to enable JavaScript to run this app.
文档中心
向量数据库VikingDB

向量数据库VikingDB

复制全文
下载 pdf
索引(Index)
update
复制全文
下载 pdf
update

概述

/index/update 接口用于更新指定 Index 的描述、cpu_quota、scalar_index。

请求接口

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

URI

/api/index/update

统一资源标识符

请求方法

POST

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

请求头

Content-Type: application/json

请求消息类型

Authorization: HMAC-SHA256 ***

鉴权

请求参数

参数

类型

是否必选

参数说明

collection_name

string

是

指定更新索引所属的 Collection 名称。

  • 只能使用英文字母、数字、下划线_,并以英文字母开头,不能为空。
  • 长度要求:[1, 128]。
  • Collection 名称不能重复。

index_name

string

是

指定更新的索引 Index 名称。

  • 只能使用英文字母、数字、下划线_,并以英文字母开头,不能为空。
  • 长度要求:[1, 128]。
  • 索引名称不能重复。

resource_id

string

否

资源ID;资源 ID 可通过相应资源的创建接口返回结果获取,也可在资源详情中查看。

cpu_quota

int

否

索引检索消耗的 CPU 配额。接口层允许的取值范围为 [0, 100];白名单账号可突破 100 的上限。

  • 与吞吐量有关,和延迟无关,1CPU 核约为 100QPS。
  • N个分片数量N倍的 CPU 消耗;如果检索消耗的 CPU 超过配额,该索引会被限流。
  • 当前请求结构无法区分“不传”与显式传入 0,两种情况都会以 cpu_quota=0 下传控制面。当前代码仓库未包含下游对 0 的处理语义,无法确认其表示保持原值还是其他行为。

description

string

否

更新索引的描述。

scalar_index

array

否

更新标量字段列表,设置需要构建到标量索引的字段。

  • scalar_index 默认为 None,表示所有字段构建到标量索引。
  • scalar_index 为 [] 时,表示无标量索引。
  • scalar_index 为非空列表时,表示将列表内字段构建到标量索引。

如果标量字段进入标量索引,主要用于范围过滤和枚举过滤,会占用额外资源:

  • 范围过滤:float32、int64
  • 枚举过滤:int64、string、list、list、bool

如果标量字段不进入标量索引,仍支持作为正排字段选取使用和部分正排计算。

shard_policy

string

否

索引分片类型

  • 可选值为auto/custom,auto为自动分片、custom为自定义分片。

索引分片是指在大规模数据量场景下,将索引数据均分成多个小的索引数据块,并分发到同一个集群不同节点进行管理,每个节点负责存储和处理一部分数据,查询会同时请求不同节点上的索引数据块。由于单节点的容量有限,无法将索引全部数据存放到单节点中,因此需要设置合适的索引分片数,否则会影响索引到数据的时效性。另,分片数与成本相关, 分片数越多成本越高。

shard_count

int

否

自定义分片数。

  • 当shard_policy为auto时,shard_count不生效。
  • 当 shard_policy 为 custom 时,shard_count 生效;若更新请求未设置 shard_count,则不会触发分片数变更。
  • 取值范围:[1, 256]。
  • 默认为1,分片数预估参考:数据预估数据量/3000万。

响应消息

参数

参数说明

code

状态码

message

返回信息

request_id

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

状态码说明

状态码

http状态码

返回信息

状态码说明

0

200

success

索引 Index 更新成功。

1000005

400

collection not exist

索引相关的 Collection 不存在。

1000008

400

index not exist

指定的 Index 不存在。

1000003

400

invalid request:%s

非法参数。

1000001

401

unauthorized

请求头中缺乏鉴权信息。

1000002

403

no permission

权限不足。

完整示例

请求消息

curl -i -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: HMAC-SHA256 ***' \
  https://api-vikingdb.volces.com/api/index/update \
  -d '{
    "collection_name": "test_name",
    "index_name": "index_test",
    "description": "update for index",
    "cpu_quota": 10,
    "scalar_index": ["city", "date"]
}'

响应消息

执行成功返回:

HTTP/1.1 200 OK
Content-Length: 43
Content-Type: application/json
 
{"code":0,"message":"success","request_id":"021695029736548fd001de66666000000000000000000029aa917"}

执行失败返回:

HTTP/1.1 400 OK
Content-Length: 43
Content-Type: application/json
 
{"code":1000005, "message":"collection not exist", "request_id":"021695029736548fd001de66666000000000000000000029aa917"}

返回说明补充

响应字段类型补充

字段类型含义
codeint业务状态码;成功时为 0。
messagestring状态说明或错误信息。
request_idstring请求唯一标识,用于问题排查。
dataobject / array接口业务数据;没有业务数据时可为空。

错误处理补充

常见错误处理建议

错误码处理建议
1000001检查 AK/SK、签名时间和 Authorization 请求头,并按 API 签名调用指南重新生成签名。
1000002检查 IAM 用户是否具有目标项目和 VikingDB 资源权限,缺少权限时由管理员授权。
1000003根据错误消息检查必填参数、类型、枚举值和数值范围。
1000005检查 collection_name 是否拼写正确、是否位于当前项目且尚未删除。
1000008检查 index_name 是否正确、索引是否已创建并处于可用状态。
1000011检查数据主键是否存在于目标 Collection;不存在时先写入数据。

完整触发条件参见向量库 V1 错误码。

最近更新时间:2026.09.08 15:30:02
这个页面对您有帮助吗?
有用
有用
无用
无用