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

向量数据库VikingDB

复制全文
下载 pdf
数据(Data)
update_data
复制全文
下载 pdf
update_data

概述

update_data 用于为已存在数据的部分字段进行更新。支持 text、标量字段、vector 字段的更新。

请求参数

参数名

子参数

类型

是否必选

参数说明

Data
Data 实例或者 Data 实例列表。

fields

map

指定写入的数据。
必须设置主键字段值

  • 单次写入的数据数目不超过100。
  • 每条数据作为一个 map,key 为字段名,value 为字段值。
  • 数据写入时 fields 长度最大为65535,超过限制时会返回报错 “fields data is too long, should be less than 65535”。
  • 不同字段类型的字段值格式如下:
  • int64:格式是整型数值。
  • float:格式是浮点数值。
  • string:格式是字符串。
  • bool:格式是 true/false。
  • list:格式是字符串数组。
  • list:格式是整型数组。
  • vector:格式是向量(浮点数数组)。
  • sparse_vector:格式是 json 字典,k 为 string 类型,表示关键词的字面量,v 为 float 类型,表示该关键词的权重数值。
  • text:格式是 map<string, string>,当前支持 text 。
  • text:以 string 形式写入文本原始数据, 如 {"text": "hello world"}。
  • image:当前支持写入tos路径。格式为tos://{bucket}/{object_key}

ttl

int

更新后的数据生存时间,单位为秒,取值范围 [0, 2147483647]。不传时保持原 TTL,传 0 表示数据不过期。

  • 当 ttl 设置为86400时,表示1天后数据自动删除。
  • 数据 ttl 删除,不会立刻更新到索引。

示例

运行示例前,请完成以下准备:

  • 安装对应版本的 VikingDB Python SDK,将完整代码保存为 example.py 后执行 python3 example.py
  • AK/SK 在火山引擎控制台“密钥管理”中创建;Host 和 Region 取自地域和访问域名。请按代码的参数或环境变量读取方式完成配置。
  • Collection、Index 名称从 VikingDB 控制台对应资源详情获取;Task ID 使用创建或查询任务接口返回的 ID。请将 <YOUR_...> 占位符替换为真实值。
  • 若示例包含 TOS 路径,请从 TOS 控制台确认桶名和对象路径,并替换为真实的 <YOUR_BUCKET_NAME>/<YOUR_TOS_PATH>

请求示例

请在火山引擎控制台的密钥管理页面获取 AK 和 SK,并将示例中的 <YOUR_AK><YOUR_SK> 等占位符替换为真实配置。

# 获取指定数据集,程序初始化时调用即可,无需重复调用
from volcengine.viking_db.CollectionClient import CollectionClient

collection_client = CollectionClient("<YOUR_COLLECTION_NAME>", "api-vikingdb.volces.com", "cn-beijing", "<YOUR_AK>", "<YOUR_SK>", "http")
# 更新 author 和 aim 字段,doc_id 是主键
field1 = {
    "doc_id": "11", 
    "author": ["name1", "name2"],
    "aim": True
}
# 更新 text_vector、text_sparse_vector、like 和 price 字段,doc_id 是主键
field2 = {
    "doc_id": "22", 
    "text_vector": gen_random_vector(12),
    "text_sparse_vector": {"hi": 0.12, "there": 0.043, "!": 0.5},
    "like": 2,
    "price": 2.22,
}
data1 = Data(field1)
data2 = Data(field2)
datas = []
datas.append(data1)
datas.append(data2)
collection_client.update_data(datas) 

返回值

Python 调用执行上面的任务,执行成功无返回信息。

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