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

ロードとリリース

コレクションのロードは、コレクション内で類似性検索やクエリを実行するための前提条件です。このページでは、コレクションのロードとリリースの手順に焦点を当てます。

コレクションのロード

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

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

from pymilvus import MilvusClient

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

# 7. Load the collection
client.load_collection(
collection_name="my_collection"
)

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

print(res)

# Output
#
# {
# "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"] # Load only the specified fields
skip_load_dynamic_field=True # Skip loading the dynamic field
)

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

print(res)

# Output
#
# {
# "state": "<LoadState: Loaded>"
# }

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

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

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

コレクションのリリース

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

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

# 8. Release the collection
client.release_collection(
collection_name="my_collection"
)

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

print(res)

# Output
#
# {
# "state": "<LoadState: NotLoad>"
# }