একটি সংগ্রহ তৈরি করা
এই বিষয়টি বিবেচনা করে যে, মিলভুসে কিভাবে একটি সংগ্রহ তৈরি করা যায়।
একটি সংগ্রহে এক বা একাধিক পার্টিশন থাকতে পারে। একটি নতুন সংগ্রহ তৈরি করা হলে, মিলভুস স্বয়ংক্রিয়ভাবে _default
নামের একটি পূর্বনির্ধারিত পার্টিশন তৈরি করে।
নীচের উদাহরণটি book
নামের একটি সংগ্রহ তৈরি করে যা দুইটি শার্ড হয়। এটির মধ্যে book_id
নামের প্রাথমিক কী ফিল্ড, word_count
নামের INT64
স্কেলার ফিল্ড এবং book_intro
নামের দুই-মাত্রামূল্য ভেক্টর ফিল্ড রয়েছে। বাস্তব অনুপ্রয়োগগুলি উদাহরণে উল্লেখিত মাত্রার চেয়ে ভেক্টর মাত্রা উচ্চোচ্চ হতে পারে।
সংগ্রহ স্কিমা নির্ধারণ
তৈরি করতে অঙ্গগুলির স্কিমা, সংগ্রহ স্কিমা এবং সংগ্রহের নাম সহ প্রয়োজনীয় প্যারামিটারগুলি যোগ করুন।
সংগ্রহ স্কিমা নির্ধারণ করার আগে, সংগ্রহের প্রতি ক্ষেত্রের স্কিমা তৈরি করুন। ডেটা প্রবেশের জটিলতা সহজীকরণের জন্য, মিলভুস প্রতিটি স্কেলার ফিল্ডের জন্য (প্রাথমিক কী ক্ষেত্র ছাড়া) পূর্বনির্ধারিত মান নির্ধারণ করার অনুমতি দেয়। এটার মানে যে, যদি ডেটা প্রবেশের সময় কোনও ফিল্ড খালি রাখা যায়, তবে স্কীমা তৈরির সময় এই ফিল্ডের জন্য কনফিগার করা পূর্বনির্ধারিত মানটি ব্যবহার করা হবে।
var (
collectionName = "book"
)
schema := &entity.Schema{
CollectionName: collectionName,
Description: "Test book search",
Fields: []*entity.Field{
{
Name: "book_id",
DataType: entity.FieldTypeInt64,
PrimaryKey: true,
AutoID: false,
},
{
Name: "word_count",
DataType: entity.FieldTypeInt64,
PrimaryKey: false,
AutoID: false,
},
{
Name: "book_intro",
DataType: entity.FieldTypeFloatVector,
TypeParams: map[string]string{
"dim": "2",
},
},
},
EnableDynamicField: true
}
ধরন | প্যারামিটার | বর্ণনা | বিকল্প |
---|---|---|---|
entity.Schema |
CollectionName |
তৈরি করা হতে যাচ্ছে সংগ্রহের নাম | N/A |
Description |
তৈরি করা হতে যাচ্ছে সংগ্রহের বিবরণ | N/A | |
AutoID |
স্বয়ংক্রিয় আইডি (প্রাথমিক কী) বরাদ্দ করা অনুমোদিত করার বিকল্প | সত্য অথবা মিথ্যা |
|
Fields |
তৈরি হতে যাচ্ছে সংগ্রহের পেশা স্কিমার। বিস্তারিত আপনি স্কিমা দেখতে পারেন, প্রতিটি স্কালার ফিল্ডের জন্য ডিফল্ট মান নির্ধারণ করা হয় যাতে ডেটা প্রবেশের সময় যদি ফিল্ডটি ফাঁকা থাকে, তবে ফিল্ড স্কিমা তৈরির সময় এই ফিল্ডের জন্য কনফিগার করা পূর্বনির্ধারিত মানটি ব্যবহার করা হবে | N/A | |
EnableDynamicField |
ডায়নামিক স্কিমা সক্রিয় করা কি না। বিস্তারিত জানতে দেখুন ডায়নামিক স্কিমা এবং সংগ্রহ ব্যবস্থাপনা ব্যবহারকারী গাইড | N/A | |
entity.Field |
Name |
তৈরি করতে যে ক্ষেত্রের নাম | N/A |
PrimaryKey |
এই ফিল্ডটি প্রাথমিক কী কিনা। প্রাথমিক কী ক্ষেত্রের জন্য প্রয়োজন | N/A | |
AutoID |
ফিল্ডের মান স্বয়ংক্রিয়ভাবে বাড়ায় কিনা | N/A | |
Description |
ফিল্ডের বর্ণনা | N/A | |
DataType |
তৈরি করতে যে ক্ষেত্রের ডেটা প্রকার | প্রাথমিক কী ফিল্ডের জন্য: - entity.FieldTypeInt64(numpy.int64) - entity.FieldTypeVarChar(VARCHAR) পৃথক ফিল্ডের জন্য: - entity.FieldTypeBool(Boolean) - entity.FieldTypeInt8(numpy.int8) - entity.FieldTypeInt16(numpy.int16) - entity.FieldTypeInt32(numpy.int32) - entity.FieldTypeInt64(numpy.int64) - entity.FieldTypeFloat(numpy.float32) - entity.FieldTypeDouble(numpy.double) - entity.FieldTypeVarChar(VARCHAR) ভেক্টর ফিল্ডের জন্য: - entity.FieldTypeBinaryVector (বাইনারি ভেক্টর) - entity.FieldTypeFloatVector (ফ্লোট ভেক্টর) |
|
TypeParams |
নির্দিষ্ট ডেটা প্রকারের জন্য প্যারামিটারগুলি সেট করার জনয় স্ট্রিং এর ম্যাপিং | N/A | |
IndexParams |
সংগ্রহের সূচী প্যারামিটার সেট করার জনয় স্ট্রিং এর ম্যাপিং | N/A | |
IsDynamic |
বা ফিল্ডটি ডায়নামিক স্কিমা সক্রিয় করে কি না | N/A | |
IsPartitionKey |
কি এই ফিল্ডটি একটি পার্টিশন কী হিসাবে কাজ করে | N/A |
নির্ধারিত গঠনের উপর ভিত্তি করে সংগ্রহ তৈরি করুন
পরবর্তীতে, নির্ধারিত স্কিমা ব্যবহার করে একটি সংগ্রহ তৈরি করুন।
err = milvusClient.CreateCollection(
context.Background(), // ctx
schema,
2, // shardNum
)
if err != nil {
log.Fatal("সংগ্রহ তৈরি করতে ব্যরথ: ", err.Error())
}
প্যারামিটার | বিবরণ | বিকল্প |
---|---|---|
ctx |
API কল প্রক্রিয়া নিয়ন্ত্রণ করার জন্য সংদেশ | N/A |
shardNum |
তৈরি হওয়া সংগ্রহে শার্ডের সংখ্যা | [1,16] |
সংগ্রহ প্রতিবন্ধকরণ
সম্পদ কনফিগারেশন
বৈশিষ্ট্য | সর্বাধিক সীমা |
---|---|
সংগ্রহের নামের দৈর্ঘ্য | 255 টি অক্ষর |
সংগ্রহে বিভাজনের সংখ্যা | 4,096 |
সংগ্রহে ফিল্ডের সংখ্যা | 64 |
সংগ্রহে শার্ডের সংখ্যা | 16 |
প্যারামিটার default_value
-
default_value
কেবলমাত্র গণনাশীল এবং JSON স্কেলার ফিল্ডগুলিতে প্রযোগ হয়। -
default_value
প্রাথমিক কীবোর্ড এ প্রযোগ হয় না। -
default_value
এর ডেটা টাইপ টা,dtype
এ উল্লেখ করা ডেটা টাইপ এর মত হতে হবে, অন্যথায় ভুল সৃষ্টি হতে পারে। - যদি
auto_id
ব্যবহার করা হয়, তাহলে অবশিষ্ট ফিল্ডগুলি ডিফল্ট মান ব্যবহারের অনুমতি দেওয়া হয় না। অর্থাৎ, ইনসার্ট বা আপডেট অপারেশন করার সময় অন্তত একটি ফিল্ডের একটি মান উল্লেখ করতে হবে, অন্যথায় ভুল সৃষ্টি হতে পারে।
সংগ্রহটি অবস্থিত কিনা তা চেক করুন
collExists, err := milvusClient.HasCollection(ctx, collectionName)
if err != nil {
log.Fatal("সংগ্রহের অবস্থা চেক করতে ব্যর্থ: ", err.Error())
}
একটি সংগ্রহ বাতিল করুন
_ = milvusClient.DropCollection(ctx, collectionName)
সমস্ত সংগ্রহ প্রশ্ন করুন
collections, err := milvusClient.ListCollections(ctx)