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

Collection Field の変更

column 制約を変更したり、より厳格なデータ整合性ルールを適用したりするために、collection field のプロパティを変更できます。

このページでは field プロパティの変更について説明しており、field の追加や削除などの schema 形状の変更は対象ではありません。既存の collection に scalar field を追加したり、field を削除したりするには、Collection Schema の変更を参照してください。

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

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

VarChar field の変更

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

以下の例では、collection に varchar という名前の VarChar field があることを前提に、その 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 field の変更

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

以下の例では、collection に array という名前の array field があることを前提に、その max_capacity プロパティを設定しています。

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

field レベルの mmap 設定の変更

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

以下の例では、collection に doc_chunk という名前の field があることを前提に、その mmap_enabled プロパティを設定しています。

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