إنشاء الأقسام
توضح هذه الموضوعات كيفية إنشاء أقسام في 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())
}