upsert
この操作はエンティティを upsert します。
Description
このコマンドを実行すると、upsert リクエストで指定された主キーが collection 内に存在するかどうかに応じて、新しいエンティティを挿入するか、既存のエンティティを更新するかを選択できます。主キーが見つからない場合は、挿入操作が実行されます。それ以外の場合は、更新操作が実行されます。
upsert リクエストは insert と delete を組み合わせたものです。既存のエンティティに対する upsert リクエストを受信すると、Zilliz Cloud はリクエストペイロード内のデータを挿入すると同時に、データ内で指定された元の主キーを持つ既存のエンティティを削除します。
コマンドに --partial_update オプションを含めて、upsert リクエストをマージモードで動作させることもできます。これにより、リクエストペイロードには更新が必要なフィールドのみを含めることができます。
Synopsis
zilliz vector upsert
--collection <value>
--data <value>
[--database <value>]
[--partition <value>]
[--partial-update]
[--output <json | table | text | yaml | csv>]
[--no-header]
[--query <value>]
[--body <value>]
Options
-
--collection (string) -
[REQUIRED]
collection 名を示します。
-
--data (array) -
[REQUIRED]
エンティティを JSON 配列または file://path.json として指定します。
--bodyが指定されていない限り必須です。JSON 配列は次のスキーマに一致する必要があります。
json{"$schema": "http://json-schema.org/draft-07/schema#","title": "insert data","type": "array","items": {"type": "object","description": "A list of entities, each of which should match the schema of the target collection."}} -
--partition (string) -
partition 名を示します。
-
--database (string) -
database 名を示します。
-
--output, -o (string) -
出力形式を示します。使用可能な値:
-
json, -
table, -
text, -
yaml, -
csv.
-
-
--no-header (boolean) -
出力が
tableまたはcsvに設定されている場合に、ヘッダー行を省略するかどうかを示します。 -
--query, -q (string) -
出力をフィルタリングするための JMESPath 式を示します。
-
--body (json) -
生の JSON ボディ(または
file://path)を示します。JSON ボディは次のスキーマに一致する必要があります。
json{"$schema": "http://json-schema.org/draft-07/schema#","title": "upsert data","type": "object","additionalProperties": false,"properties": {"dbName": {"type": "string","description": "The name of the database."},"partitionName": {"type": "string","description": "The name of the partition to which this operation applies."},"data": {"type": "array","items": {"type": "object","description": "A list of entities, each of which should match the schema of the target collection."}},"partialUpdate": {"type": "boolean","description": "Whether to enable partial update. When enabled, only the provided fields are updated."}},"required": ["data"]} -
--partial-update (boolean) -
部分更新を有効にするかどうかを示します。有効にすると、指定されたフィールドのみが更新されます。
Example
# Upsert with inline JSON
zilliz vector upsert --collection my_col --data '[{"id": 1, "vector": [0.1, 0.2, 0.3]}]'
# Upsert from a JSON file
zilliz vector upsert --collection my_col --data file:///path/to/data.json