إنشاء الأقسام

توضح هذه الموضوعات كيفية إنشاء أقسام في Milvus.

يسمح Milvus بتقسيم معظم بيانات الفيكتور إلى عدد قليل من الأقسام. يسمح ذلك بتقييد عمليات البحث والعمليات الأخرى لتكون داخل قسم واحد، مما يحسن الأداء.

تتكون المجموعة من قسمين أو أكثر. عند إنشاء مجموعة جديدة، سيقوم Milvus بإنشاء قسم افتراضي، وهو _default. لمزيد من المعلومات، راجع المعجم - القسم.

يقوم المثال التالي بإنشاء قسم يسمى novel في المجموعة book.

err := milvusClient.CreatePartition(
  context.Background(),   // ctx
  "book",                 // CollectionName
  "novel"                 // partitionName
)
if err != nil {
  log.Fatal("فشل في إنشاء القسم: ", err.Error())
}
المعلمة الوصف
ctx السياق للتحكم في عملية الاستدعاء API.
CollectionName اسم المجموعة التي يتعين إنشاء قسم بها.
partitionName اسم القسم الذي يجب إنشاؤه.

الحدود

الميزة الحد الأقصى
عدد الأقسام في مجموعة واحدة 4,096

التحقق من وجود قسم

التحقق مما إذا كان القسم المحدد موجودًا في مجموعة.

hasPar, err := milvusClient.HasPartition(
   context.Background(),   // ctx
   "book",                 // CollectionName
   "novel",                // partitionName
)
if err != nil {
   log.Fatal("فشل في التحقق من القسم: ", err.Error())
}
log.Println(hasPar)

عرض جميع الأقسام

listPar, err := milvusClient.ShowPartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
)
if err != nil {
  log.Fatal("فشل في استعراض الأقسام: ", err.Error())
}
log.Println(listPar)

حذف قسم

err := milvusClient.DropPartition(
  context.Background(),   // ctx
  "book",                 // CollectionName
  "novel",                // partitionName
)
if err != nil {
  log.Fatal("فشل في حذف القسم: ", err.Error())
}

تحميل قسم

يسمح Milvus للمستخدمين بتحميل الأقسام كنسخ متعددة للاستفادة من موارد وحدات الاستعلام الإضافية للمعالج المركزي والذاكرة، مما يحسن الإجمالي لقدرة الاستعلامات في الثانية وكمية المعالجة.

err := milvusClient.LoadPartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"},      // partitionNames
  false                   // async
)
if err != nil {
  log.Fatal("فشل في تحميل الأقسام: ", err.Error())
}

إطلاق قسم

err := milvusClient.ReleasePartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"}       // partitionNames
)
if err != nil {
  log.Fatal("فشل في إطلاق الأقسام: ", err.Error())
}