メインコンテンツまでスキップ
バージョン: User Guides (Cloud)

ロード & リリース

コレクションのロードは、コレクションでの類似検索およびクエリを実行するための前提条件です。このページでは、コレクションのロードおよびリリース手順について説明します。

コレクションのロード

コレクションをロードすると、Zilliz Cloudはインデックスファイルとすべてのフィールドの生データをメモリにロードし、検索およびクエリに迅速に対応できるようにします。コレクションのロード後に挿入されたエンティティは自動的にインデックス化およびロードされます。

以下のコードスニペットは、コレクションをロードする方法を示しています。

from pymilvus import MilvusClient

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

# 7. コレクションをロード
client.load_collection(
collection_name="my_collection"
)

res = client.get_load_state(
collection_name="my_collection"
)

print(res)

# 出力
#
# {
# "state": "<LoadState: Loaded>"
# }

特定のフィールドをロード

Zilliz Cloudでは、検索およびクエリに関与するフィールドのみをロードすることで、メモリ使用量を削減し、検索パフォーマンスを向上させることができます。

以下のコードスニペットでは、my_collectionという名前のコレクションが作成済みで、コレクションにはmy_idおよびmy_vectorという名前の2つのフィールドが存在すると仮定しています。

client.load_collection(
collection_name="my_collection",
load_fields=["my_id", "my_vector"] # 指定したフィールドのみをロード
skip_load_dynamic_field=True # ダイナミックフィールドのロードをスキップ
)

res = client.get_load_state(
collection_name="my_collection"
)

print(res)

# 出力
#
# {
# "state": "<LoadState: Loaded>"
# }

特定のフィールドをロードすることを選択した場合、load_fieldsに含まれるフィールドのみが検索およびクエリでのフィルターおよび出力フィールドとして使用できることに注意してください。常に、主キーフィールドの名前と少なくとも1つのベクトルフィールドをload_fieldsに含める必要があります。

また、skip_load_dynamic_fieldを使用して、ダイナミックフィールドをロードするかどうかを決定することもできます。ダイナミックフィールドは**&#36;meta**という名前の予約済みJSONフィールドであり、スキーマ定義されていないすべてのフィールドとその値をキーと値のペアで保存します。ダイナミックフィールドをロードする際、フィールド内のすべてのキーがロードされ、フィルターおよび出力で使用可能になります。ダイナミックフィールド内のすべてのキーがメタデータのフィルタリングおよび出力に関与しない場合は、skip_load_dynamic_fieldTrueに設定してください。

コレクションのロード後にさらに多くのフィールドをロードするには、インデックスの変更によるエラーを回避するために、最初にコレクションをリリースする必要があります。

コレクションのリリース

検索およびクエリはメモリを大量に使用する操作です。コストを節約するために、現在使用していないコレクションをリリースすることをお勧めします。

以下のコードスニペットは、コレクションをリリースする方法を示しています。

# 8. コレクションをリリース
client.release_collection(
collection_name="my_collection"
)

res = client.get_load_state(
collection_name="my_collection"
)

print(res)

# 出力
#
# {
# "state": "<LoadState: NotLoad>"
# }