You need to enable JavaScript to run this app.
导航
updateCollection
最近更新时间:2025.09.30 16:06:33首次发布时间:2024.04.17 14:21:07
复制全文
我的收藏
有用
有用
无用
无用

概述

updateCollection 用于为指定数据集 Collection 增加字段。

说明

Collection 支持新增字段 fields,已定义字段 fields 不支持修改,仅支持修改数据集描述。

请求参数

请求参数是 UpdateCollectionParam,UpdateCollectionParam 类包括的参数如下表所示。

参数

子参数

类型

是否必选

默认值

参数说明

collectionName

string

指定更新的 Collection 名称。

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

description

string

""

更新 Collection 的描述。

  • 长度要求:[0, 65535]。

fields

说明

Field 实例的列表,一个 Collection 里的 Field 实例数量上限是 200。

fieldName

string

指定自定义字段的名称。

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

fieldType

string

指定自定义字段类型,如 FieldType.String,可选值详见 fieldType 可选值说明。

defaultVal

和 fieldType 一致

指定自定义字段默认值,默认值详见 fieldType 可选值说明。

  • 当 fieldName 作为主键时,defaultVal 不生效,同时也不会被校验。

dim

int

fieldType 为vector 时必选

指定自定义字段向量维度。

  • 取值范围:[4, 2048],且必须是 4 的倍数。
  • 向量维度是指向量中包含的元素的数量。

isPrimaryKey

bool

False

指定该字段是否为主键,用户可以从 fields 定义的字段列表中选出某一个 int64 类型 / string 类型的字段作为主键字段。每个 Collection 有且仅有一个主键,其它字段 isPrimaryKey 默认为 False。

  • 枚举值:True/False。

pipelineName

string

fieldType 为 text 时可选

文本。纯文本预处理能力 pipeline 是指向量数据库将文本切片、文本向量化、入库、存储自动化的预处理流程。支持以string形式写入原始数据。
pipeline_name 枚举值如下:

  • text_split_bge_large_zh:向量数据库使用切分器将长文本切分成短文本,调用 embedding 模型将短文本向量化。
  • text_bge_large_zh:向量数据库不切分文本,直接调用 embedding 模型将文本向量化。
  • text_split_bge_m3:向量数据库使用切分器将长文本切分成短文本,调用 bge m3 模型抽取短文本的稀疏特征和稠密特征,存入系统预设的稠密向量字段和稀疏向量字段。
  • text_bge_m3:向量数据库不切分文本,直接调用 bge m3 抽取短文本的稀疏特征和稠密特征,存入系统预设的稠密向量字段和稀疏向量字段。
  • text_split_bge_large_and_m3:向量数据库使用切分器将长文本切分成短文本,调用 bge v1.5 模型抽取短文本的稠密特征,存入系统预设的稠密向量字段;调用 bge m3 模型抽取短文本的稀疏特征,存入系统预设的稀疏向量字段。
  • text_bge_m3:向量数据库不切分文本,调用 bge v1.5 模型抽取短文本的稠密特征,存入系统预设的稠密向量字段;调用 bge m3 模型抽取短文本的稀疏特征,存入系统预设的稀疏向量字段。

field_type 可选值

字段类型

可用索引类型

defaultVal默认值

数据写入时
取值范围

defaultVal
取值范围

可为主键

说明

int64

枚举

0

int64 范围

int64 范围

整数

float32

范围

0.0

float32 范围

float32 范围

浮点数

string

枚举

"default"

长度<=128

字符串

bool

枚举

false

true/false

true/false

布尔类型

list<string>

枚举

["default"]

List 长度<=32

List 长度<=32

字符串数组

list<int64>

枚举

[0]

List 长度<=32

List 长度<=32

整数数组

vector

向量

维度 4-2048

稠密向量。

  • fieldType 设置为 vector 时必选参数 dim。

sparse_vector

稀疏向量

非零元下标无限制
非零元值为 float32 范围

稀疏向量。

  • sparse_vector不能单独设置,必须与 vector 字段组合设置。
  • 接收形为<index,value>的json字典列表,来表示稀疏稀疏向量的关键词及其对应的权重值。

示例:
sparse_vector={"什么": 0.34, "是": 0.03, "B": 0.11, "M":0.32, "25": 0.03}

text

文本,注意事项:

  • fieldType 设置为 text 时可选参数 pipelineName。
  • 当定义字段 fields 添加了带 pipelineName 的 text 字段,则不允许添加 vector 字段,且只能有一个带 pipelineName 的 text 字段;当定义字段 fields 添加了不带 pipelineName 的 text 字段,则允许添加 vector 字段,且允许添加多个不带 pipelineName 的 text 字段,text 字段最多200个。

示例

请求参数

List<Field> fields = new ArrayList<>();
        fields.add(new Field().setFieldName("new_field1").setFieldType(FieldType.Int64).setDefaultVal(10).build());
        fields.add(new Field().setFieldName("new_field2").setFieldType(FieldType.String).setDefaultVal("test").build());
        UpdateCollectionParam updateCollectionParam = new UpdateCollectionParam().setCollectionName("javaSDKTest1")
                                                                                .setFields(fields)
                                                                                .setDescription("modify")
                                                                                .build();
        vikingDBService.updateCollection(updateCollectionParam);

返回值

Python 调用执行上面的任务,无返回。