跳到主要内容
版本:v2.5.x

更改 Collection 字段

您可以更改 Collection 字段的属性,以更改列约束或执行更严格的数据完整性规则。

说明
  • 每个 Collection 只包含一个主字段。一旦在创建 Collection 时设置,就不能更改主字段或改变其属性。

  • 每个 Collection 只能有一个 Partition Key。一旦在创建 Collection 时设置,就不能更改 Partition Key。

更改 VarChar 字段

VarChar 字段有一个名为max_length 的属性,用于限制字段值可包含的最大字符数。您可以更改max_length 属性。

下面的示例假定 Collection 有一个名为varchar 的 VarChar 字段,并设置了它的max_length 属性。

from pymilvus import MilvusClient

client = MilvusClient(
uri="http://localhost:19530",
token="root:Milvus"
)

client.alter_collection_field(
collection_name="my_collection",
field_name="varchar",
field_params={
"max_length": 1024
}
)
await client.alterCollectionFieldProperties({
collection_name: LOAD_COLLECTION_NAME,
field_name: 'varchar',
properties: { max_length: 1024 },
});

更改 ARRAY 字段

数组字段有两个属性,即element_typemax_capacity 。前者决定数组中元素的数据类型,后者限制数组中元素的最大数量。您只能更改max_capacity 属性。

下面的示例假定 Collection 有一个名为array 的数组字段,并设置了它的max_capacity 属性。

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

更改字段级 mmap 设置

内存映射(Mmap)可实现对磁盘上大型文件的直接内存访问,允许 Milvus 在内存和硬盘中同时存储索引和数据。这种方法有助于根据访问频率优化数据放置策略,在不影响搜索性能的情况下扩大 Collection 的存储容量。

下面的示例假定 Collection 有一个名为doc_chunk 的字段,并设置其mmap_enabled 属性。

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