create_collection 用于创建一个新的数据集 Collection。创建成功后,可以写入数据。
异步调用使用async_create_collection接口,参数不变。
说明
参数 | 子参数 | 类型 | 是否必选 | 默认值 | 参数说明 |
---|---|---|---|---|---|
collection_name | string | 是 | 指定创建的 Collection 名称。
| ||
description | string | 否 | "" | 自定义 Collection 的描述。
| |
fields 说明 Field 实例的列表,一个 Collection 里的 Field 实例数量上限是 200。 | field_name | string | 是 | 指定自定义字段的名称。
| |
field_type | string | 是 | 指定自定义字段类型,如 FieldType.String,可选值详见 field_type 可选值说明。 | ||
default_val | 和field_type一致 | 否 | 指定自定义字段默认值,默认值详见 field_type 可选值说明。
| ||
dim | int | field_type 为vector 时必选 | 指定自定义字段向量维度。
| ||
is_primary_key | bool | 是 | False | 指定自定义字段是否为主键,主键用于唯一标识一行数据。
| |
pipeline_name | string | field_type 为 text 时可选 | 文本。纯文本预处理能力 pipeline 是指向量数据库将文本切片、文本向量化、入库、存储自动化的预处理流程。支持以string形式写入原始数据。
|
字段类型 | 可用索引类型 | default_val默认值 | 数据写入时 | default_val | 可为主键 | 说明 |
---|---|---|---|---|---|---|
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 | 否 | 文本,注意事项:
|
fields = [ Field( field_name="doc_id", field_type=FieldType.String, is_primary_key=True//每个 Collection 有且仅有一个主键,其它字段 is_primary_key 默认为 False 且无需体现。 ), Field( field_name="text_vector", field_type=FieldType.Vector, dim=12 ), Field( field_name="text_sparse_vector", field_type=FieldType.Sparse_Vector ), Field( field_name="like", field_type=FieldType.Int64, default_val=0 ), Field( field_name="price", field_type=FieldType.Float32, default_val=0 ), Field( field_name="author", field_type=FieldType.List_String, default_val=[] ), Field( field_name="aim", field_type=FieldType.Bool, default_val=True ), ] res = vikingdb_service.create_collection("example", fields, "This is an example") # 异步调用 async def create_collection(): fields = [ Field( field_name="doc_id", field_type=FieldType.String, is_primary_key=True ), Field( field_name="text_vector", field_type=FieldType.Vector, dim=10 ), Field( field_name="like", field_type=FieldType.Int64, default_val=0 ), Field( field_name="price", field_type=FieldType.Float32, default_val=0 ), Field( field_name="author", field_type=FieldType.List_String, default_val=[] ), Field( field_name="aim", field_type=FieldType.Bool, default_val=True ), ] res = await vikingdb_service.async_create_collection("async", fields, "This is an example") print(res) asyncio.run(create_collection())
Python 调用执行上面的任务,返回 Collection 实例。Collection 实例包含的属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
collection_name | string | Collection 名称。 |
description | string | Collection 的描述。 |
fields | List | 字段列表。 |
indexes | List | 索引列表。 |
stat | map | 统计/状态信息。
|
create_time | string | 数据集创建时间。 |
update_time | string | 数据集更新时间。 |
update_person | string | 数据集更新人。 |