向 Collection 添加 Function Field (V2)
This operation adds a function, its output field, and the field index to an existing collection in one schema change.
该 API 的 Base URL 格式如下:
https://${CLUSTER_ENDPOINT}
- 你需要填入您的 Zilliz Cloud 集群的
${CLUSTER_ENDPOINT}。 - 您可以使用 查看集群详情 V2 来获取集群的 Endpoint.
export CLUSTER_ENDPOINT=""
认证令牌,应为具备适当权限的 API 密钥或用冒号分隔的用户名和密码,如 username:password。如果您使用的是项目端点,则仅具备足够权限的有效 API 密钥适用。
Database 名称。若未指定,则使用默认 Database。
目标 Collection 的名称。
待添加到 Collection 的 Function 定义。
待创建 Function 的名称。
待创建 Function 的描述。
待创建 Function 的类型。
待创建 Function 的输入字段名称列表。
字段名称。
待创建 Function 的输出字段名称列表。
字段名称。
当前 Function 的配置参数。当函数类型为 BM25,无须设置该参数。当函数类型为其它两类时,可以查看Embedding Functions and Reranking Functions获取详细的可用参数列表。
由 Function 生成的输出字段。
目标 Collection 中待创建的字段名称。
字段值的数据类型。
数组字段中各元素的数据类型。若当前字段为数组类型,则该参数为必填项。
字段是否可以为 null。如果设置为 true,则该字段可以包含 null 值。
字段的默认值。若当前字段为 VarChar 类型,则该参数为必填项。
当前字段是否为主键字段。将该参数设置为 True 则当前字段将成为主键字段。此时,还需要确定 autoID 参数的取值。
当前字段是否为 Partition Key。将该参数设置为 True 则当前字段将作为 Partition Key。在这种情况下, 会管理当前 Collection 中的所有 Partition。
字段附加参数。
如果当前字段的数据类型为 VarChar,则该参数为必填项,用于设置该字段值的最大长度。
如果当前字段的数据类型为 FloatVector 或 BinaryVector,则该参数为必填项,用于设置向量维度。
如果当前字段的数据类型为 Array,则该参数为必填项,用于设置该字段值的最大元素数量。
外部数据源中对应列的名称。创建外部集合时必填。
Function 输出字段的索引参数。
待创建索引的输出字段名称,必须与 outputField.fieldName 一致。
索引名称。
索引使用的度量类型。
索引类型。
其他索引参数。
Function 输出字段使用的索引实现。
export TOKEN="db_admin:xxxxxxxxxxxxx"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/collections/add_function_field" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"dbName": "default",
"collectionName": "documents",
"function": {
"name": "bm25_fn",
"type": "BM25",
"inputFieldNames": [
"text"
],
"outputFieldNames": [
"sparse"
]
},
"outputField": {
"fieldName": "sparse",
"dataType": "SparseFloatVector"
},
"indexParams": {
"metricType": "BM25",
"fieldName": "sparse",
"indexName": "sparse_index",
"params": {
"index_type": "SPARSE_INVERTED_INDEX"
}
}
}'
Returns an empty object.
响应码。
返回错误消息。
响应码。
错误描述。
{
"code": 0,
"data": {}
}