You need to enable JavaScript to run this app.
向量数据库VikingDB

向量数据库VikingDB

复制全文
数据(Data)
UpdateData
复制全文
UpdateData

概述

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

请求参数

参数名

子参数

类型

是否必选

参数说明

data

说明

Data 结构体或其构成的列表。

fields

array<map>

指定写入的数据。

注意

必须设置主键字段值

  • 单次写入的数据数目不超过100。
  • 每条数据作为一个 map,key 为字段名,value 为字段值。
  • 数据写入时 fields 长度最大为65535,超过限制时会返回报错 “fields data is too long, should be less than 65535”。
  • 不同字段类型的字段值格式如下:
    • int64:格式是整型数值。
    • float:格式是浮点数值。
    • string:格式是字符串。
    • bool:格式是 true/false。
    • list<string>:格式是字符串数组。
    • list<int64>:格式是整型数组。
    • 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 和正整数。
  • 默认值:默认为0,表示数据不过期。
  • 当 ttl 设置为86400时,表示1天后数据自动删除。
  • 数据 ttl 删除,不会立刻更新到索引。

示例

请求参数

//GetCollection获取指定数据集,程序初始化时调用即可,无需重复调用  
collectionClient := vikingdb.NewCollectionClient("test_collection", "api-vikingdb.volces.com", "cn-beijing", "your ak", "your sk", "http")
// 更新 author 和 aim 字段,doc_id 是主键
field1 := map[string]interface{}{
     "doc_id": "11",
     "author": []string{"name1", "name2"},
     "aim": true,
}
// 更新 text_vector、text_sparse_vector、like 和 price 字段,doc_id 是主键
field2 := map[string]interface{}{
     "doc_id": "22",
     "text_vector": genRandomVector(12),
     "text_sparse_vector": map[string]float64{"hello": 0.34, "world": 0.03, "!": 0.11},
     "like": 2,
     "price": 2.22,
}
var data1 vikingdb.Data
var data2 vikingdb.Data
data1.Fields = field1
data2.Fields = field2
datas := []vikingdb.Data{
     data1,
     data2,
}
err := collectionClient.UpdateData(datas)
if err != nil {
     print(err.Error())
}

返回值

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

最近更新时间:2025.09.30 16:06:34
这个页面对您有帮助吗?
有用
有用
无用
无用