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

コレクションフィールドの変更

コレクションフィールドのプロパティを変更すると、列の制約を変更したり、より厳密なデータ整合性ルールを適用したりできます。

このページではフィールドプロパティの変更について説明し、フィールドの追加や削除などのスキーマ構造の変更については説明しません。既存のコレクションにスカラーフィールドを追加する場合、またはフィールドを削除する場合は、コレクションスキーマの変更 を参照してください。

📘Notes
  • 各コレクションのプライマリフィールドは 1つだけです。コレクションの作成時に設定した後は、プライマリフィールドを変更したり、そのプロパティを変更したりすることはできません。

  • 各コレクションに設定できるパーティションキーは 1つだけです。コレクションの作成時に設定した後は、パーティションキーを変更することはできません。

VarChar フィールドを変更する​

VarChar フィールドには max_length というプロパティがあり、各フィールド値に許容される最大バイト数を定義します。max_length プロパティは変更できます。

次の例では、コレクションに 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 フィールドを変更する​

配列フィールドには element_type と max_capacity の 2つのプロパティがあります。前者は配列内の要素のデータ型を決定し、後者は配列内の要素の最大数を制約します。変更できるのは max_capacity プロパティのみです。

次の例では、コレクションに array という名前の配列フィールドがあることを前提として、その max_capacity プロパティを設定します。

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

フィールドレベルの mmap 設定を変更する​

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

次の例では、コレクションに doc_chunk という名前のフィールドがあることを前提として、その mmap_enabled プロパティを設定します。

python
client.alter_collection_field(
collection_name="my_collection",
field_name="doc_chunk",
field_params={"mmap.enabled": True}
)