Upsert (V2)
この操作は、新しいレコードをデータベースに挿入するか、既存のレコードを更新します。
https://${CLUSTER_ENDPOINT}
${CLUSTER_ENDPOINT}を、あなたのZilliz Cloudクラスターのエンドポイントに置き換える必要があります。- エンドポイントを取得するには、Describe Cluster V2 APIを使用してレスポンスから値を抽出してください。
export CLUSTER_ENDPOINT=""
認証トークンは、適切な権限を持つ API key または username:password のようにコロンで連結したユーザー名とパスワードの組である必要があります。
データベースの名前。
データの upsert 先となる collection の名前。
現在の collection 内の partition の名前。 指定した場合、データは指定された partition に挿入されます。
1 つの entity object、または entity object の配列。entity object 内のキーは collection schema と一致している必要があります
部分更新を有効にするかどうか。有効にすると、指定されたフィールドのみが更新されます。
部分更新中に適用するフィールドレベルの操作です。各エントリは対象フィールドと、その値の更新方法を指定します。
更新するフィールドの名前。
更新操作です。REPLACE はフィールド値を置き換え、ARRAY_APPEND は配列要素を追加し、ARRAY_REMOVE は一致する配列要素を削除します。
export TOKEN="db_admin:xxxxxxxxxxxxx"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/entities/upsert" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"data": [
{
"id": 0,
"vector": [
0.3580376395471989,
-0.6023495712049978,
0.18414012509913835,
-0.26286205330961354,
0.9029438446296592
],
"color": "pink_8682"
},
{
"id": 1,
"vector": [
0.19886812562848388,
0.06023560599112088,
0.6976963061752597,
0.2614474506242501,
0.838729485096104
],
"color": "red_7025"
},
{
"id": 2,
"vector": [
0.43742130801983836,
-0.5597502546264526,
0.6457887650909682,
0.7894058910881185,
0.20785793220625592
],
"color": "orange_6781"
},
{
"id": 3,
"vector": [
0.3172005263489739,
0.9719044792798428,
-0.36981146090600725,
-0.4860894583077995,
0.95791889146345
],
"color": "pink_9298"
},
{
"id": 4,
"vector": [
0.4452349528804562,
-0.8757026943054742,
0.8220779437047674,
0.46406290649483184,
0.30337481143159106
],
"color": "red_4794"
},
{
"id": 5,
"vector": [
0.985825131989184,
-0.8144651566660419,
0.6299267002202009,
0.1206906911183383,
-0.1446277761879955
],
"color": "yellow_4222"
},
{
"id": 6,
"vector": [
0.8371977790571115,
-0.015764369584852833,
-0.31062937026679327,
-0.562666951622192,
-0.8984947637863987
],
"color": "red_9392"
},
{
"id": 7,
"vector": [
-0.33445148015177995,
-0.2567135004164067,
0.8987539745369246,
0.9402995886420709,
0.5378064918413052
],
"color": "grey_8510"
},
{
"id": 8,
"vector": [
0.39524717779832685,
0.4000257286739164,
-0.5890507376891594,
-0.8650502298996872,
-0.6140360785406336
],
"color": "white_9381"
},
{
"id": 9,
"vector": [
0.5718280481994695,
0.24070317428066512,
-0.3737913482606834,
-0.06726932177492717,
-0.6980531615588608
],
"color": "purple_4976"
}
],
"collectionName": "quick_setup"
}'
export TOKEN="db_admin:xxxxxxxxxxxxx"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/entities/upsert" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"collectionName": "product_catalog",
"data": [
{
"id": 1,
"tags": [
"featured"
]
}
],
"partialUpdate": true,
"fieldOps": [
{
"fieldName": "tags",
"op": "ARRAY_APPEND"
}
]
}'
MutationResult object。
レスポンスコード。
この操作のコスト。これは free クラスターおよび serverless クラスターにのみ適用され、現在のリクエストの vCU 使用量を示します。
upsert 操作の結果を含むレスポンスペイロード。
upsert された entity の数。
upsert された entity の ID の配列。注: リクエストにヘッダー Accept-Type-Allow-Int64: true が含まれていない限り、ID は文字列として返されます。
upsert された entity の ID。
デプロイメントで tiered storage を使用し、usage tracking が有効になっていて、この操作が remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。
デプロイメントで tiered storage を使用し、usage tracking が有効になっていて、この操作が remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。
デプロイメントで tiered storage を使用し、usage tracking が有効になっていて、この操作が remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。
エラーメッセージを返します。
レスポンスコード。
エラーメッセージ。
{
"code": 0,
"data": {
"upsertCount": 10,
"upsertIds": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
]
}
}