创建 Collection (V2)
本接口可在指定集群中创建 Collection。
该 API 的 Base URL 格式如下:
https://{cluster-id}.{region}.vectordb.zilliz.com.cn:19530
- 如果您使用的是服务集群,请使用集群端点。
Free 与 Serverless 版
https://{cluster-id}.serverless.{region}.vectordb.zillizcloud.comDedicated 版
https://{cluster-id}.{region}.vectordb.zilliz.com.cn:19530
- 你需要填入您的 Zilliz Cloud 集群的
${CLUSTER_ENDPOINT}。 - 您可以使用 查看集群详情 V2 来获取集群的 Endpoint.
export CLUSTER_ENDPOINT="https://{cluster-id}.{region}.vectordb.zilliz.com.cn:19530"
认证令牌,应为具备适当权限的 API 密钥或用冒号分隔的用户名和密码,如 username:password。如果您使用的是项目端点,则仅具备足够权限的有效 API 密钥适用。
定义要通过快速设置创建的 Collection。collectionName 和 dimension 为必填项。
数据库名称。
待创建 Collection 的名称。
向量值的维度数。 若该字段的 idType 为 FloatVector 或 BinaryVector,则该字段为必填项。
当前 Collection 的度量类型。
主键字段数据类型。该参数为快速创建 Collection 而设计,若您已定义 schema 字段,则该参数将被忽略。
主键是否自动增长。该参数为快速创建 Collection 而设计,若您已定义 schema 字段,则该参数将被忽略。
主键字段名称。该参数为快速创建 Collection 而设计,若您已定义 schema 字段,则该参数将被忽略。
向量字段名称。该参数为快速创建 Collection 而设计,若您已定义 schema 字段,则该参数将被忽略。
当前 Collection 的描述信息。
Extra parameters for the collection.
当前 Collection 允许的最大字节数。如果当前 Collection 的主键字段是字符串类型,则该参数可用。
是否启用动态字段功能。
当前 Collection 的一致性级别。
当前 Collection 的 TTL 时间。如果设置,则在 TTL 时间结束后,该 Collection 将被删除。
是否为当前 Collection 启用内存映射功能。
用于 TTL 过期策略的字段名称。
是否在加载时将标量字段数据预加载到内存中。
是否在加载时将标量索引数据预加载到内存中。
是否在加载时将向量字段数据预加载到内存中。
是否在加载时将向量索引数据预加载到内存中。
此配置所描述的 Collection 所应用的一致性级别。它决定查询该 Collection 时所采用的一致性保证。
Collection 的额外属性。可使用它为该 Collection 指定额外的设置。
快速设置所创建的 Collection 的向量字段所使用的向量数据类型。
配置需显式提供的 Collection 设置,其中 collectionName 为必填项。
数据库名称。
待创建 Collection 的名称。
Schema 决定了 Collection 中数据的组织方式。一个有效的 Schema 应包含多个字段,其中必须包含主键字段、向量字段以及多个标量字段。设置本参数时,dimension、 idType、autoID、primaryFieldName、vectorFieldName 等参数将被忽略。
是否允许主键字段自动增长。将该参数设置为 True 则主键字段将自动增长。在这种情况下,请不要在插入数据时包含主键字段,以避免错误。如果当前字段的 is_primary 参数设置为 True,则本参数为必填项。
是否允许使用保留字段 $meta 来保存 Schema 中未定义的字段。
字段列表。
一个字段 Schema 对象。
目标 Collection 中待创建的字段名称。
字段值的数据类型。
数组字段中各元素的数据类型。若当前字段为数组类型,则该参数为必填项。
字段是否可以为 null。如果设置为 true,则该字段可以包含 null 值。
字段的默认值。若当前字段为 VarChar 类型,则该参数为必填项。
当前字段是否为主键字段。将该参数设置为 True 则当前字段将成为主键字段。此时,还需要确定 autoID 参数的取值。
当前字段是否为 Partition Key。将该参数设置为 True 则当前字段将作为 Partition Key。在这种情况下,Zilliz Cloud 会管理当前 Collection 中的所有 Partition。
字段附加参数。
如果当前字段的数据类型为 VarChar,则该参数为必填项,用于设置该字段值的最大长度。
如果当前字段的数据类型为 FloatVector 或 BinaryVector,则该参数为必填项,用于设置向量维度。
如果当前字段的数据类型为 Array,则该参数为必填项,用于设置该字段值的最大元素数量。
一个函数列表。
一个 Function Schema 对象。
待创建 Function 的名称。
待创建 Function 的描述。
待创建 Function 的类型。
待创建 Function 的输入字段名称列表。
字段名称。
待创建 Function 的输出字段名称列表。
字段名称。
当前 Function 的配置参数。当函数类型为 BM25,无须设置该参数。当函数类型为其它两类时,可以查看Embedding Functions and Reranking Functions获取详细的可用参数列表。
Struct Array 字段列表。
Struct Array 字段,用于组合多个子字段。
Struct Array 字段名称。
Struct Array 字段描述。
Struct Array 中的子字段。每个 dataType 表示 Struct 字段的标量或向量类型。
Struct Array 中的子字段定义。dataType 表示 Struct 字段的标量或向量类型。
子字段名称。
Struct 字段的标量或向量类型。
元素类型参数,例如 VarChar 的 max_length 或向量类型的 dim。
Struct Array 字段的参数。max_capacity 为必填参数,指定每条 Entity 中允许包含的 Struct 元素数量上限。
每条 Entity 中允许包含的 Struct 元素数量上限。
索引构建所需相关参数。
一个索引 Schema 对象。
用于构建索引的相似度类型。更多详情,请参考相似度指标详解。
要创建索引的目标字段名称。
要创建的索引名称。该值默认为目标字段名称。
索引类型及相关设置。对于 Zilliz Cloud 集群而言,请始终将 index_type 设置成 AUTOINDEX。
要创建的索引类型。对于 Zilliz Cloud 集群而言,请始终将 index_type 设置成 AUTOINDEX
Extra parameters for the collection.
当前 Collection 的一致性级别。
随当前 Collection 创建的 Partition 数量。如果当前 Collection 中有指定为 Partition Key 的字段,则该参数为必填项。
当前 Collection 的 TTL 时间。如果设置,则在 TTL 时间结束后,该 Collection 将被删除。
是否为当前 Collection 启用 Partition Key 隔离功能。
是否为当前 Collection 启用内存映射功能。
用于 TTL 过期策略的字段名称。
是否在加载时将标量字段数据预加载到内存中。
是否在加载时将标量索引数据预加载到内存中。
是否在加载时将向量字段数据预加载到内存中。
是否在加载时将向量索引数据预加载到内存中。
当前 Collection 的描述信息。
此配置所描述的 Collection 所应用的一致性级别。它决定查询该 Collection 时所采用的一致性保证。
以键值对形式提供的额外 Collection 属性。
指向已有外部 Collection 的 Collection 设置,通过必填的 collectionName 标识。
数据库名称。
待创建 Collection 的名称。
外部集合的 Schema。必须包含带有 externalField 映射的字段以及 externalSource。externalSpec 可省略;对于 milvus:// 源,省略时 format 默认为 milvus-table。
是否允许主键字段自动增长。将该参数设置为 True 则主键字段将自动增长。在这种情况下,请不要在插入数据时包含主键字段,以避免错误。如果当前字段的 is_primary 参数设置为 True,则本参数为必填项。
是否允许使用保留字段 $meta 来保存 Schema 中未定义的字段。
字段列表。
一个字段 Schema 对象。
目标 Collection 中待创建的字段名称。
字段值的数据类型。
数组字段中各元素的数据类型。若当前字段为数组类型,则该参数为必填项。
字段是否可以为 null。如果设置为 true,则该字段可以包含 null 值。
字段的默认值。若当前字段为 VarChar 类型,则该参数为必填项。
当前字段是否为主键字段。将该参数设置为 True 则当前字段将成为主键字段。此时,还需要确定 autoID 参数的取值。
当前字段是否为 Partition Key。将该参数设置为 True 则当前字段将作为 Partition Key。在这种情况下,Zilliz Cloud 会管理当前 Collection 中的所有 Partition。
字段附加参数。
如果当前字段的数据类型为 VarChar,则该参数为必填项,用于设置该字段值的最大长度。
如果当前字段的数据类型为 FloatVector 或 BinaryVector,则该参数为必填项,用于设置向量维度。
如果当前字段的数据类型为 Array,则该参数为必填项,用于设置该字段值的最大元素数量。
外部数据源中对应列的名称。创建外部集合时必填。
一个函数列表。
一个 Function Schema 对象。
待创建 Function 的名称。
待创建 Function 的描述。
待创建 Function 的类型。
待创建 Function 的输入字段名称列表。
字段名称。
待创建 Function 的输出字段名称列表。
字段名称。
当前 Function 的配置参数。当函数类型为 BM25,无须设置该参数。当函数类型为其它两类时,可以查看Embedding Functions and Reranking Functions获取详细的可用参数列表。
外部数据源标识符。在 Zilliz Cloud 上,externalSource 支持两种格式:volume://<volume_name>/<path> 与 milvus://<instance_id>/<db_name>/<collection_name>。milvus:// 指向与目标集群同项目、同地域的另一集群(兼容 Milvus v3.0.x)上的集合。前缀必须小写;三段(实例/数据库/集合)缺一不可,数据库为 default 时也须写明;末尾允许多一个 /。 创建外部集合时必填。
描述外部数据源连接参数的 JSON 字符串。format 键接受 parquet、vortex、lance-table、iceberg-table 与 milvus-table。创建外部集合时可省略;对于 milvus:// 源,省略时 format 默认为 milvus-table。
Struct Array 字段列表。
Struct Array 字段,用于组合多个子字段。
Struct Array 字段名称。
Struct Array 字段描述。
Struct Array 中的子字段。每个 dataType 表示 Struct 字段的标量或向量类型。
Struct Array 中的子字段定义。dataType 表示 Struct 字段的标量或向量类型。
子字段名称。
Struct 字段的标量或向量类型。
元素类型参数,例如 VarChar 的 max_length 或向量类型的 dim。
Struct Array 字段的参数。max_capacity 为必填参数,指定每条 Entity 中允许包含的 Struct 元素数量上限。
每条 Entity 中允许包含的 Struct 元素数量上限。
索引构建所需相关参数。
一个索引 Schema 对象。
用于构建索引的相似度类型。更多详情,请参考相似度指标详解。
要创建索引的目标字段名称。
要创建的索引名称。该值默认为目标字段名称。
索引类型及相关设置。对于 Zilliz Cloud 集群而言,请始终将 index_type 设置成 AUTOINDEX。
要创建的索引类型。对于 Zilliz Cloud 集群而言,请始终将 index_type 设置成 AUTOINDEX
Extra parameters for the collection.
当前 Collection 的一致性级别。
随当前 Collection 创建的 Partition 数量。如果当前 Collection 中有指定为 Partition Key 的字段,则该参数为必填项。
当前 Collection 的 TTL 时间。如果设置,则在 TTL 时间结束后,该 Collection 将被删除。
是否为当前 Collection 启用 Partition Key 隔离功能。
是否为当前 Collection 启用内存映射功能。
用于 TTL 过期策略的字段名称。
是否在加载时将标量字段数据预加载到内存中。
是否在加载时将标量索引数据预加载到内存中。
是否在加载时将向量字段数据预加载到内存中。
是否在加载时将向量索引数据预加载到内存中。
当前 Collection 的描述信息。
此配置所描述的 Collection 所应用的一致性级别。它决定查询该 Collection 时所采用的一致性保证。
要应用到 Collection 的附加属性。
export TOKEN="db_admin:xxxxxxxxxxxxx"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/collections/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"collectionName": "test_collection",
"dimension": 5
}'
export TOKEN="db_admin:xxxxxxxxxxxxx"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/collections/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"collectionName": "custom_quick_setup",
"dimension": 5,
"primaryFieldName": "my_id",
"idType": "VarChar",
"vectorFieldName": "my_vector",
"metric_type": "L2",
"autoId": true,
"params": {
"max_length": "512"
}
}'
返回 Collection 对象。
由不携带特定操作结果数据的操作返回的通用响应信封。它仍包含 data 对象。
响应码。
响应负载对象,其内容取决于返回它的操作。
Returns an error message.
响应码。
错误描述。
{
"code": 0,
"data": {}
}