メインコンテンツまでスキップ

Upsert (V2)

この操作は、データベースに新しいレコードを挿入するか、既存のレコードを更新します。

POST/v2/vectordb/entities/upsert
接続エンドポイント

https://${CLUSTER_ENDPOINT}

📘ノート
  • ${CLUSTER_ENDPOINT} を、あなたのZilliz Cloudクラスターのエンドポイントに置き換える必要があります。
  • エンドポイントを取得するには、Describe Cluster V2 APIを使用してレスポンスから値を抽出してください。
shell
export CLUSTER_ENDPOINT=""
パラメータ
Authorizationstringheader必要

認証トークンは、適切な権限を持つAPIキー、またはコロンで連結したユーザー名とパスワードのペア(例: username:password)のいずれかである必要があります。

値の例: Bearer {{TOKEN}}
リクエスト・ボディ
dbNamestring

データベースの名前です。

collectionNamestring必要

データをアップサートするコレクションの名前です。

partitionNamestring

現在のコレクション内のパーティションの名前です。 指定すると、データは指定されたパーティションに挿入されます。

dataobject必要

エンティティオブジェクト、またはエンティティオブジェクトの配列です。エンティティオブジェクトのキーはコレクションスキーマと一致している必要があります。

partialUpdateboolean

部分更新を有効にするかどうか。有効にすると、指定されたフィールドのみが更新されます。fieldOps を使用して、個々のフィールドの置換または配列固有の更新動作を選択します。

fieldOpsarray

部分更新中に適用するフィールドレベルの操作です。各エントリはフィールドを選択し、その値の更新方法を指定します。

[]fieldOpsobject
fieldNamestring必要

更新するフィールドの名前です。

opstring必要

更新操作です。REPLACE はフィールド値を置き換え、ARRAY_APPEND は配列要素を追加し、ARRAY_REMOVE は一致する配列要素を削除します。

bash
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"
}'
bash
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 オブジェクトです。

codeinteger

レスポンスコードです。

costinteger

この操作のコストです。このコストは、無料クラスターとServerlessクラスターにのみ適用され、現在のリクエストのvCU 使用量を示します。

dataobject

アップサート操作の結果を含むレスポンスペイロードです。

upsertCountinteger

アップサートされたエンティティの数です。

値の例: 4
upsertIdsarray

アップサートされたエンティティのIDの配列です。注: リクエストにAccept-Type-Allow-Int64: trueヘッダーが含まれない限り、IDは文字列として返されます。

[]upsertIdsstring

アップサートされたエンティティのIDです。

scanned_remote_bytesinteger

デプロイメントで使用状況の追跡を有効にした階層型ストレージを使用し、操作がリモート/diskストレージから読み取る場合に返されます。すべてのデータがローカルキャッシュから提供される場合は省略されます。

scanned_total_bytesinteger

デプロイメントで使用状況の追跡を有効にした階層型ストレージを使用し、操作がリモート/diskストレージから読み取る場合に返されます。すべてのデータがローカルキャッシュから提供される場合は省略されます。

cache_hit_rationumber

デプロイメントで使用状況の追跡を有効にした階層型ストレージを使用し、操作がリモート/diskストレージから読み取る場合に返されます。すべてのデータがローカルキャッシュから提供される場合は省略されます。

エラーメッセージを返します。

codeinteger

レスポンスコードです。

messagestring

エラーメッセージです。

Successjson
{
"code": 0,
"data": {
"upsertCount": 10,
"upsertIds": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
]
}
}
Ctrl I