create_schema()
この操作は、コレクションスキーマを作成します。
リクエスト構文
MilvusClient.create_schema(**kwargs) -> CollectionSchema
これはクラスメソッドです。このメソッドは、MilvusClient.create_schema() のように呼び出す必要があります。
パラメーター:
-
kwargs -
-
auto_id (bool)
プライマリフィールドの自動インクリメントを許可するかどうか。
これを True に設定すると、プライマリフィールドは自動的にインクリメントされます。この場合、エラーを避けるため、挿入するデータにプライマリフィールドを含めないでください。
-
enable_dynamic_field (bool)
対象のコレクションに挿入されるデータに、コレクションのスキーマで定義されていないフィールドが含まれている場合に、Zilliz Cloud がそれらの未定義フィールドの値を動的フィールドに保存することを許可するかどうか。
これを True に設定すると、Zilliz Cloud は、挿入されるデータに含まれる未定義のフィールドとその値を保存するために $meta というフィールドを作成します。
Note動的フィールドとは何ですか?
対象のコレクションに挿入されるデータに、コレクションのスキーマで定義されていないフィールドが含まれている場合、それらのフィールドは $meta という名前の予約済みの動的フィールドにキーと値のペアとして保存されます。
-
primary_field (str)
プライマリフィールドの名前。
-
partition_key_field (str)
パーティションキーとして機能するフィールドの名前。
これを設定すると、Zilliz Cloud は現在のコレクション内のすべてのパーティションを管理します。
Noteパーティションキーとは何ですか?
フィールドがパーティションキーとして指定されると、Zilliz Cloud は挿入された各エンティティのパーティションキー値に基づいてハッシュを計算し、それに応じて対象のコレクションのパーティションにエンティティを保存します。
これは、パーティション指向のマルチテナンシーのように、特定のキーに基づくデータ分離を実装する場合に特に有用です。
-
-
external_source (str) -
外部ソース URI。アクセス可能な外部ボリュームを指す
volume://URI である必要があります。たとえば、volume://<volume-name>/path/to/folder/です。 -
external_spec (str) -
外部ソースの仕様。これは一連の副次パラメーターです。
-
format (str) -
対象のソースデータファイルの形式。
使用可能な値は、
parquet、vortex、lance-table、iceberg-tableです。 -
snapshot_id (str) -
Iceberg テーブルの ID。これは
formatがiceberg-tableの場合にのみ適用されます。
-
戻り値の型:
戻り値:
CollectionSchema オブジェクト。
例外:
-
MilvusException
この操作中に何らかのエラーが発生した場合、この例外が発生します。
例
-
管理対象コレクションのスキーマ
pythonfrom pymilvus import MilvusClient, DataType# 1. Create a schemaschema = MilvusClient.create_schema(auto_id=False,enable_dynamic_field=False,)# 2. Add fields to schemaschema.add_field(field_name="my_id", datatype=DataType.INT64, is_primary=True)# {# 'auto_id': False,# 'description': '',# 'fields': [# {# 'name': 'my_id',# 'description': '',# 'type': <DataType.INT64: 5>,# 'is_primary': True,# 'auto_id': False# }# ]# }schema.add_field(field_name="my_vector", datatype=DataType.FLOAT_VECTOR, dim=5)# {# 'auto_id': False,# 'description': '',# 'fields': [# {# 'name': 'my_id',# 'description': '',# 'type': <DataType.INT64: 5>,# 'is_primary': True,# 'auto_id': False# },# {# 'name': 'my_vector',# 'description': '',# 'type': <DataType.FLOAT_VECTOR: 101>,# 'params': {# 'dim': 5# }# }# ]# } -
外部コレクションのスキーマ
pythonschema = MilvusClient.create_schema(external_source='volume://my_volume/path/to/a/folder/',external_spec='{"format": "parquet"}')schema.add_field(field_name="product_id",datatype=DataType.INT64,# highlight-nextexternal_field="id" # field name in the external data file)schema.add_field(field_name="product_name",datatype=DataType.VARCHAR,max_length=512,# highlight-nextexternal_field="name")schema.add_field(field_name="embedding",datatype=DataType.FLOAT_VECTOR,dim=768,# highlight-nextexternal_field="vector")