การสร้างพาร์ติชัน

หัวข้อนี้อธิบายถึงวิธีการสร้างพาร์ติชันใน Milvus

Milvus อนุญาตให้ข้อมูลเวกเตอร์ส่วนใหญ่สามารถแบ่งเป็นพาร์ติชันจำนวนน้อย ซึ่งทำให้การค้นหาและการดำเนินการอื่น ๆ ถูก จำกัดไว้ในพาร์ติชันเดียว ทำให้ประสิทธิภาพการทำงานดีขึ้น

คอลเลกชันประกอบด้วยพาร์ติชันหนึ่งหรือมากกว่า ขณะสร้างคอลเลกชันใหม่ Milvus จะสร้างพาร์ติชันเริ่มต้นชื่อ _default เพิ่มเติมอ่านเพิ่มเติมในทักษะชีวนิทยา-พาร์ติชัน

ตัวอย่างต่อไปนี้สร้างพาร์ติชันชื่อ novel ในคอลเลกชัน book

err := milvusClient.CreatePartition(
  context.Background(),   // ctx
  "book",                 // CollectionName
  "novel"                 // partitionName
)
if err != nil {
  log.Fatal("Failed to create partition: ", err.Error())
}
พารามิเตอร์ คำอธิบาย
ctx บริบทที่ใช้ควบคุมขั้นตอนการเรียก API.
CollectionName ชื่อของคอลเลกชันที่ต้องการสร้างพาร์ติชัน.
partitionName ชื่อของพาร์ติชันที่ต้องการสร้าง.

ข้อ จำกัด

คุณลักษณะ ขีด จำกัดสูงสุด
จำนวนของพาร์ติชันในคอลเลกชันเดียว 4,096

การตรวจสอบว่าพาร์ติชันมีอยู่หรือไม่

ตรวจสอบว่ามีการระบุพาร์ติชันที่สร้างขึ้นในคอลเลกชันหรือไม่

hasPar, err := milvusClient.HasPartition(
   context.Background(),   // ctx
   "book",                 // CollectionName
   "novel",                // partitionName
)
if err != nil {
   log.Fatal("Failed to check partition: ", err.Error())
}
log.Println(hasPar)

รายการของพาร์ติชันทั้งหมด

listPar, err := milvusClient.ShowPartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
)
if err != nil {
  log.Fatal("Failed to list partitions: ", err.Error())
}
log.Println(listPar)

การลบพาร์ติชัน

err := milvusClient.DropPartition(
  context.Background(),   // ctx
  "book",                 // CollectionName
  "novel",                // partitionName
)
if err != nil {
  log.Fatal("Failed to delete partition: ", err.Error())
}

การโหลดพาร์ติชัน

Milvus อนุญาตให้ผู้ใช้โหลดพาร์ติชันเป็นหลายตัวอักษรเพื่อใช้ทรัพยากร CPU และหน่วยความจำของโหนดคิวรี่เพิ่มเติม เพิ่มประสิทธิภาพการค้นหาตามจำนวนคิวรี่และประสิทธิภาพ

err := milvusClient.LoadPartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"},      // partitionNames
  false                   // async
)
if err != nil {
  log.Fatal("Failed to load partitions: ", err.Error())
}

การปลดพาร์ติชัน

err := milvusClient.ReleasePartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"}       // partitionNames
)
if err != nil {
  log.Fatal("Failed to release partitions: ", err.Error())
}