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

コレクションの変更

コレクション名を変更したり、設定を変更したりできます。このページでは、コレクションの変更方法に焦点を当てます。

コレクション名の変更

コレクション名は以下のように変更できます。

from pymilvus import MilvusClient

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

client.rename_collection(
old_name="my_collection",
new_name="my_new_collection"
)

コレクションプロパティの設定

コレクション作成後にコレクションレベルのプロパティを変更できます。

サポートされるプロパティ

プロパティ

説明

collection.ttl.seconds

コレクションのデータを特定の期間後に削除する必要がある場合、Time-To-Live(TTL)を秒単位で設定することを検討してください。TTLがタイムアウトすると、Zilliz Cloudはコレクションからすべてのエンティティを削除します。

削除は非同期で行われるため、削除が完了するまでは検索やクエリが可能であることを示しています。

詳細については、コレクションTTLの設定を参照してください。

mmap.enabled

メモリマッピング(Mmap)はディスク上の大きなファイルに直接メモリアクセスできるようにし、Zilliz Cloudがインデックスとデータをメモリとハードドライブの両方に保存できるようにします。このアプローチにより、アクセス頻度に基づいたデータ配置ポリシーを最適化し、検索性能に影響を与えずにコレクションのストレージ容量を拡張できます。

Zilliz Cloudはクラスターのグローバルmmap設定を実装しています。特定のフィールドまたはそのインデックスの設定を変更できます。

詳細については、Mmapの使用を参照してください。

partitionkey.isolation

パーティションキーアイソレーションが有効になっている場合、Zilliz Cloudはパーティションキーバリューに基づいてエンティティをグループ化し、これらのグループごとに個別のインデックスを作成します。検索要求を受信すると、Zilliz Cloudはフィルタリング条件で指定されたパーティションキー値に基づいてインデックスを特定し、インデックスに含まれるエンティティ内の検索範囲を限定し、検索中に無関係なエンティティをスキャンしないようにして、検索性能を大幅に向上させます。

詳細については、パーティションキーアイソレーションの使用を参照してください。

dynamicfield.enabled

動的フィールドを有効にしていないコレクションに動的フィールドを有効にします。有効にすると、元のスキーママで定義されていないフィールドを持つエンティティを挿入できます。詳細については、動的フィールドを参照してください。

例1:コレクションTTLの設定

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

from pymilvus import MilvusClient

client.alter_collection_properties(
collection_name="my_collection",
properties={"collection.ttl.seconds": 60}
)

例2:mmapの有効化

以下のコードスニペットは、mmapを有効にする方法を示しています。

from pymilvus import MilvusClient

client.alter_collection_properties(
collection_name="my_collection",
properties={"mmap.enabled": True}
)

例3:パーティションキーの有効化

以下のコードスニペットは、パーティションキーを有効にする方法を示しています。

from pymilvus import MilvusClient

client.alter_collection_properties(
collection_name="my_collection",
properties={"partitionkey.isolation": True}
)

例4:動的フィールドの有効化

以下のコードスニペットは、動的フィールドを有効にする方法を示しています。

from pymilvus import MilvusClient

client.alter_collection_properties(
collection_name="my_collection",
properties={"dynamicfield.enabled": True}
)

コレクションプロパティの削除

以下のようにプロパティを削除することで、コレクションプロパティをリセットすることもできます。

client.drop_collection_properties(
collection_name="my_collection",
property_keys=[
"collection.ttl.seconds"
]
)