createCollection 用于创建一个新的数据集 Collection。创建成功后,可以写入数据。
说明
请求参数是 CreateCollectionParam,CreateCollectionParam 类包括的参数如下表所示。
参数 | 子参数 | 类型 | 是否必选 | 默认值 | 参数说明 |
---|---|---|---|---|---|
collectionName | string | 是 | 指定创建的 Collection 名称。
| ||
description | string | 否 | "" | 自定义 Collection 的描述。
| |
fields 说明 Field 实例的列表,一个 Collection 里的 Field 实例数量上限是 200。 | fieldName | string | 是 | 指定自定义字段的名称。
| |
fieldType | string | 是 | 指定自定义字段类型,如 FieldType.String,可选值详见 fieldType 可选值说明。 | ||
defaultVal | 和 fieldType 一致 | 否 | 指定自定义字段默认值,默认值详见 fieldType 可选值说明。
| ||
dim | int | fieldType 为vector 时必选 | 指定自定义字段向量维度。
| ||
isPrimaryKey | bool | 是 | False | 指定自定义字段是否为主键,主键用于唯一标识一行数据。
| |
pipelineName | string | fieldType 为 text 时可选 | 文本。纯文本预处理能力 pipeline 是指向量数据库将文本切片、文本向量化、入库、存储自动化的预处理流程。支持以string形式写入原始数据。
|
字段类型 | 可用索引类型 | 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 | 否 | 稠密向量。
| ||
sparse_vector | 稀疏向量 | 非零元下标无限制 | 否 | 稀疏向量。
| ||
text | 否 | 文本,注意事项:
|
List<Field> fields = new ArrayList<>(); fields.add(new Field().setFieldName("doc_id").setFieldType(FieldType.Int64).setPrimaryKey(true).build()); fields.add(new Field().setFieldName("text_vector").setFieldType(FieldType.Vector).setDim(12).build()); fields.add(new Field().setFieldName("text_sparse_vector").setFieldType(FieldType.Sparse_Vector).build()); fields.add(new Field().setFieldName("like").setFieldType(FieldType.Int64).setDefaultVal(0).build()); fields.add(new Field().setFieldName("price").setFieldType(FieldType.Float32).setDefaultVal(2.2).build()); fields.add(new Field().setFieldName("aim").setFieldType(FieldType.Bool).setDefaultVal(false).build()); fields.add(new Field().setFieldName("author").setFieldType(FieldType.List_String).build()); CreateCollectionParam createCollectionParam = new CreateCollectionParam() .setCollectionName("javaSDKTest") .setFields(fields) .setDescription("test") .build(); Collection collection = vikingDBService.createCollection(createCollectionParam);
Java 调用执行上面的任务,返回 Collection 实例。Collection 实例包含的属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
collectionName | string | Collection 名称。 |
description | string | Collection 的描述。 |
fields | ArrayList | 字段列表。 |
indexes | ArrayList | 索引列表。 |
stat | map | 统计/状态信息。
|
createTime | string | 数据集创建时间。 |
updateTime | string | 数据集更新时间。 |
updatePerson | string | 数据集更新人。 |