শর্তমূলক প্রশ্নাবলী সম্পাদন
এই বিষয়টি শর্তমূলক প্রশ্নাবলী সম্পাদন, যা SQL WHERE শর্তগুলির মতো।
ভেক্টর সাদৃশ্য অনুসন্ধানের বিপরীতে, প্রশ্নাবলী স্কেলার ফিল্টারিং ব্যবহার করে ভেক্টর পুনর্দেখার সূচী প্রদান করে বৈশিষ্ট্যবিশেষ ভেক্টর প্রদর্শন করে। Milvus বিভিন্ন ডেটা প্রকার সাপোর্ট করে এবং বিভিন্ন বুলিয়ান অভিব্যক্তিগুলির। বুলিয়ান অভিব্যক্তিগুলি স্কেলার ফিল্ড বা প্রাথমিক কী ফিল্ডগুলি ফিল্টার করতে পারে এবং ফিল্টার শর্তাবলীর সাথে মিল সম্পাদন করা প্রাথমিক কী ফিল্ড বা সংবিষ্টি বিল্ড করে সেই শর্ত চেনার প্রস্তুতিগুলি উত্তোলন করে সব ফলাফল।
নীচের উদাহরণে দেখানো হয় যে যেভাবে 2000 টি সারি ধারণ করা ডাটাসেটে একটি প্রশ্নের পরিপত্তি করা হয়, যার মধ্যে বই আইডি (প্রাথমিক কী), শব্দ গণনা (স্কেলার ফিল্ড) এবং বই পরিচিতি (ভেক্টর ফিল্ড) রয়েছে। এটি নিশ্চিত বই আইডি ভিত্তিক বাছাই করার মত প্রশ্নাবলী রূপান্তর করে।
সংগ্রহ লোড করা
Milvus এ, সমস্ত অনুসন্ধান এবং প্রশ্নাবলী সম্পাদন মেমোরির মধ্যে সম্পাদন করা হয়। একটি প্রশ্ন করার আগে, সংগ্রহটি মেমোরিতে লোড করতে হয়।
err := milvusClient.LoadCollection(
context.Background(), // ctx
"book", // CollectionName
false // async
)
if err != nil {
log.Fatal("Failed to load collection:", err.Error())
}
প্রশ্নাবলী সম্পাদন
প্রশ্নের নীচের উদাহরণ নির্দিষ্ট book_id
মান ভিত্তিক ভেক্টর ফিল্টার করে এবং ফলাফলেরbook_id
এবংbook_intro
ক্ষেত্রগুলি ফেরী করে।
Milvus সম্প্রদান শক্তিশুঞ্যতা স্তর সেট করা সাপোর্ট করে। এই উদাহরণে সমান্তরাল স্তরটি শক্তির
হয়েছে। আপনি ছোটরাখা হারসণ্ডিতের নির্দিষ্ট স্তরটি সেট করতে পারেন বৌণ্ডেড
, সেশন
, বা শেষবীর্য
। Milvus এর চারটি সততা স্তরের বিষয়ে আরও জানতে পারেন Consistency।
ফিল্টার অভিব্যক্তিসমূহ এবং প্রশ্নার অন্তর্ভুক্ত ক্ষেত্রগুলি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, ডাইনামিক প্যাটার্নের জন্য দেখুন।
opt := client.SearchQueryOptionFunc(func(option *client.SearchQueryOption) {
option.Limit = 3
option.Offset = 0
option.ConsistencyLevel = entity.ClStrong
option.IgnoreGrowing = false
})
queryResult, err := milvusClient.Query(
context.Background(), // ctx
"book", // CollectionName
"", // PartitionName
entity.NewColumnInt64("book_id", []int64{2,4,6,8}), // expr
[]string{"book_id", "book_intro"}, // OutputFields
opt, // queryOptions
)
if err != nil {
log.Fatal("Failed to query the collection:", err.Error())
}
| প্যারামিটার | বর্ণনা | অপশন |
|------------------- -- |-----------------------------------|-------------------------------------|
| ctx
| অনুধাবন বিবৃতি নিয়ন্ত্রণ করার জন্য ব্যবহৃত সংদেশ। | N/A |
| CollectionName
| যে সংগ্রহে প্রশ্ন করা হবে। | N/A |
| partitionName
| যদি ফাঁকা থাকে, তাহলে সমস্ত পার্টিশন চেনান। যদি ফাঁকা থাকে, তাহলে সমস্ত পার্টিশন চেনান। | এন / এ |
| expr
| বুলিয়ান অভিব্যক্তি যা গুণগুলি ফিল্টার করার জন্য ব্যবহৃত হয়। | বার্তা দ্যাটা নিয়মের বিষয়ে বিস্তৃত তথ্য জানতে, বুলিয়ান অভিব্যক্তির নিয়মদেখুন। |
| OutputFields
| ফিরিয়ে দেওয়া ফিল্ডের নাম। | এই বর্তমান সংস্করণে ভেক্টর ফিল্ড সমর্থিত নয়। |
| opts
| এনটিটি .SearchQueryOptionFunc
ফরম্যাটে প্রতিনিধিত্বিত সম্প্রদান নির্দেশিকা। | - Limit
হয় এনটিটি রিটার্ন করার সংখ্যা নির্দেশ করে। - Offset
হয় সন্ধান প্রক্রির মুল্যায়ন প্রসেসে ছাত্রনগর পর মুল্যের সাথে ছাঁড়িয়ে যাওয়া সংখ্যা নির্দেশ করে। এই প্যারামিটার এর যোগ করা এবং লিমিট
সমষ্টি 16384
এর কম হতে হবে। - ConsistencyLevel
হয় অনুসন্ধান প্রক্রির মূল্যায়ন প্রসেসে প্রযোগ নাওর সাদৃশ্য স্তর নির্দেশ করে। - আর্দ্র গ্রওয়ারিং
বড়োয়ান অবেগি প্রক্রির মূল্যায়ন প্রসেসে উপেক্ষা করতে কত স্তরের সরূপ হয়। ডিফল্ট মান False
হয়, এমনটা প্রদান করে যে সংস্থা বিস্তৃত হয়না। |
ফেরূন ফলাফল চেক করুন।
fmt.Printf("%#v\n", queryResult)
for _, qr := range queryResult {
fmt.Println(qr.IDs)
}
মাত্রা হিসাব করা
একটি প্রশ্ন বাটিবে অনুষ্ঠান করার সময়, আপনিoutput_fields
এ গণনা (*)
সাথে সংযুক্ত করতে পারেন, যাতে Milvus কে সংগ্রহে মাত্রা ফেরুনী করতে পারে। আপনি যদি নিশ্চিত শর্তাবলীর শর্তাবলী পূরণো পূরণো পূরণো চান, তাহলে
expr` ব্যবহার করুন।
প্রতিষ্ঠান
গণনা (*)
এর উপযোগনীতায়, সীমা
প্যারামিটার ব্যবহার করা অনুমোদিত নয়।