发布分区(release_partition)

释放分区

本主题描述了如何在搜索或查询后释放分区以减少内存使用。

Python Java GO Node.js CLI Curl

from pymilvus import Partition
partition = Partition("novel")       # Get an existing partition.
partition.release()
 
await milvusClient.releasePartitions({
    collection_name: "book",
    partition_names: ["novel"],
 });
 
err := milvusClient.ReleasePartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"}       // partitionNames
)
if err != nil {
  log.Fatal("failed to release partitions:", err.Error())
}
 
List<String> partitionNames = new ArrayList<>();
partitionNames.add("novel");
milvusClient.releasePartitions(
  ReleasePartitionsParam.newBuilder()
    .withCollectionName("book")
    .withPartitionNames(partitionNames)
    .build()
);
 
release -c book -p novel
 
curl -X 'DELETE' 
  'http://localhost:9091/api/v1/partitions/load' 
  -H 'accept: application/json' 
  -H 'Content-Type: application/json' 
  -d '{
    "collection_name": "book",
    "partition_names": ["novel"],
    "replica_number": 1
  }'
 
参数描述
partition_name分区名称。
参数描述
collection_name要释放分区的集合名称。
partition_names要释放的分区名称列表。
参数描述
ctx控制 API 调用过程的上下文。
CollectionName要释放分区的集合名称。
partitionNames要释放的分区名称列表。
参数描述
CollectionName要释放分区的集合名称。
PartitionNames要释放的分区名称列表。
选项描述
-c要释放分区的集合名称。
-p(多个)要释放的分区名称。
参数描述
collection_name要释放分区的集合名称。
partition_names要释放的分区名称列表。

约束

  • 当父集合已经被加载时,尝试释放分区时会返回错误。未来的版本将支持从已加载的集合中释放分区,然后加载其他分区(如果需要)。

  • 当已经加载了已加载的集合时,将返回“成功加载”。

  • 当子分区已经加载时,尝试加载集合时会返回错误。未来的版本将支持在某些分区已经加载的情况下加载集合。

  • 通过单独的RPC加载同一集合中的不同分区是不允许的。

接下来是什么