跳到主要内容

修改 Collection

在 Collection 创建完成后,您还可以对 Collection 的名称及相关设置进行修改。本文主要介绍如何修改 Collection 及进行修改操作时的注意事项。

重命名 Collection

如果您需要重命名 Collection,可以参考如下代码进行操作:

from pymilvus import MilvusClient

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

client.rename_collection(
old_name="my_collection",
new_name="my_new_collection"
)

设置 Collection 属性

如下代码演示了如何设置 Collection 的生存时间(TTL)。您可以参考这些代码片断设置 Collection 的其它属性。具体支持的属性可以参考代码下方的表格。

如果您需要 Zilliz Cloud 在 Collection 创建完成后的一段时间内自动销毁该 Collection。可以考虑为 Collection 设置 TTL。这样当 Collection 的生存时间超过指定时间(单位为秒)后,Zilliz Cloud 就会开始异步删除 Collection 中的数据。在数据完全删除前,您仍旧可以搜索到部分数据。

from pymilvus import MilvusClient

client.alter_collection_properties(
collection_name="my_collection",
properties={"collection.ttl.seconds": 60}
)

属性

适用场景

collection.ttl.seconds

如果您需要 Zilliz Cloud 在 Collection 创建完成后的一段时间内自动删除该 Collection 中的所有数据。可以考虑为 Collection 设置 TTL。这样当 Collection 的生存时间超过指定时间(单位为秒)后,Zilliz Cloud 就会开始删除 Collection 中的数据。 由于删除操作是异步的,在数据完全删除前,您仍旧可以搜索到部分数据。 更多内容,可以参考设置 Collection 生存时间

mmap.enabled

Memory mapping 支持通过内存来访问存放在磁盘上的数据和文件,从而使得 Zilliz Cloud 即可以将索引和原始数据存放在内存中,也可以将它们存放在磁盘上。您可以根据访问频率优化数据存放策略,在扩大 Collection 容量的同时保证搜索性能。

Zilliz Cloud 为您的集群提供了全局 mmap 策略。您可以为某个具体字段或该字段上的索引设置不同的 mmap 策略。

更多内容,可以参考使用 mmap

partitionkey.isolation

在开启 Partition Key 之后,Zilliz Cloud 会根据 Partition Key 的取值对 Collection 内的 Entity 进行分组并为每个组创建单独的索引。在收到搜索请求后,Zilliz Cloud 会根据搜索请求中的过滤条件里指定的 Partition Key 值定位到相应的索引,并将搜索范围限定在该索引对应的 Entity 中,从而避免在搜索过程中扫描与当前搜索请求不相关的 Entity,提升搜索效率。 更多内容,可以参考使用 Partition Key Isolation

删除 Collection 属性

你还可以参考如下代码示例删除 Collection 相关属性。

client.drop_collection_properties(
collection_name="my_collection",
property_keys=[
"collection.ttl.seconds"
]
)