Add Function Field to Collection (V2)
This operation adds a function, its output field, and the field index to an existing collection in one schema change.
The base URL for this API is in the following format:
https://${CLUSTER_ENDPOINT}
- You need to fill in
${CLUSTER_ENDPOINT}with that of your Zilliz Cloud cluster. - To get the endpoint, use the Describe Cluster V2 API to extract the values from the responses.
export CLUSTER_ENDPOINT=""
The authentication token should be an API key with appropriate privileges or a pair of colon-joined username and password, like username:password. If you are using a project endpoint, only a valid API key with sufficient permissions applies.
The name of the database.
The name of the collection.
The function definition to add to the collection.
The name of the function to create.
The description of the function to create.
The type of the function to create.
The names of the input fields for the function to create.
A field name.
The names of the output fields for the function to create.
A field name.
Configuration parameters specific to the current function. Once the function type is set to BM25, no parameter is required. For applicable parameters to functions of TEXTEMBEDDING or RERANK, refer to Embedding Functions and Reranking Functions
The output field generated by the function.
The name of the field to create in the target collection
The data type of the field values.
The data type of the elements in an array field. This is required if the current field is of the array type.
Whether the field can be null. If set to true, the field can contain null values.
The default value of the field. This is required if the current field is of the VarChar type.
Whether the current field is the primary field. Setting this to True makes the current field the primary field.
Whether the current field serves as the partition key. Setting this to True makes the current field serve as the partition key. In this case, manages all partitions in the current collection.
Extra field parameters.
An optional parameter for VarChar values that determines the maximum length of the value in the current field.
An optional parameter for FloatVector or BinaryVector fields that determines the vector dimension.
An optional parameter for Array field values that determines the maximum number of elements in the current array field.
The name of the corresponding column in the external source. Required when creating an external collection.
The index parameters for the function output field.
The output field to index. It must match outputField.fieldName.
The name of the index.
The metric used by the index.
The type of the index.
Additional index parameters.
The index implementation used for the function output field.
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.
Response code.
Returns an error message.
Response code.
Error message.
{
"code": 0,
"data": {}
}