update_data 用于为已存在数据的部分字段进行更新。支持 text、标量字段、vector 字段的更新。
参数名 | 子参数 | 类型 | 是否必选 | 参数说明 |
|---|---|---|---|---|
Data | fields | map | 是 | 指定写入的数据。
|
ttl | int | 否 | 更新后的数据生存时间,单位为秒,取值范围
|
运行示例前,请完成以下准备:
- 安装对应版本的 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 调用执行上面的任务,执行成功无返回信息。