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

Collection Field の変更

collection フィールドのプロパティを変更して、列の制約を変更したり、より厳格なデータ整合性ルールを適用したりできます。

このページではフィールドプロパティの変更について説明します。フィールドの追加や削除のようなスキーマ形状の変更については扱いません。既存の collection に scalar フィールドを追加したり、フィールドを削除したりするには、Collection Schema の変更を参照してください。

📘注意
  • 各 collection は 1 つの primary field のみで構成されます。collection 作成時に設定すると、その後 primary field を変更したり、そのプロパティを変更したりすることはできません。

  • 各 collection には 1 つの partition key のみを設定できます。collection 作成時に設定すると、その後 partition key を変更することはできません。

VarChar フィールドの変更

VarChar フィールドには max_length というプロパティがあり、フィールド値に含められる最大文字数を制限します。max_length プロパティは変更できます。

次の例では、collection に varchar という名前の VarChar フィールドが存在することを前提として、その max_length プロパティを設定します。

python
from pymilvus import MilvusClient

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

client.alter_collection_field(
collection_name="my_collection",
field_name="varchar",
field_params={
"max_length": 1024
}
)

ARRAY フィールドの変更

array フィールドには element_typemax_capacity の 2 つのプロパティがあります。前者は array 内の要素のデータ型を決定し、後者は array に含められる要素の最大数を制限します。変更できるのは max_capacity プロパティのみです。

次の例では、collection に array という名前の array フィールドが存在することを前提として、その max_capacity プロパティを設定します。

python
client.alter_collection_field(
collection_name="my_collection",
field_name="array",
field_params={
"max_capacity": 64
}
)

フィールドレベルの mmap 設定の変更

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

次の例では、collection に doc_chunk という名前のフィールドが存在することを前提として、その mmap_enabled プロパティを設定します。

python
client.alter_collection_field(
collection="my_collection",
field_name="doc_chunk",
properties={"mmap.enabled": True}
)
Ctrl I