ক্লাউড অনুসন্ধানের ক্যোয়ারী ব্যাখ্যা বৈশিষ্ট্যটি স্বয়ংক্রিয়ভাবে ব্যবহারকারীর ক্যোয়ারীতে অপারেটর এবং ফিল্টারগুলিকে ব্যাখ্যা করে এবং সেই উপাদানগুলিকে একটি কাঠামোগত, অপারেটর-ভিত্তিক ক্যোয়ারীতে রূপান্তর করে৷ ক্যোয়ারী ইন্টারপ্রিটেশন ব্যবহারকারীর ক্যোয়ারী বলতে কী বোঝায় তা নির্ণয় করতে স্কিমায় সংজ্ঞায়িত অপারেটর ব্যবহার করে, সূচীকৃত নথির সাথে। এই বৈশিষ্ট্যটি একজন ব্যবহারকারীকে ন্যূনতম কীওয়ার্ড দিয়ে অনুসন্ধান করতে দেয়, তবুও সুনির্দিষ্ট ফলাফল পেতে পারে।
ব্যবহারকারীর কাছে উপস্থাপিত প্রকৃত ফলাফলগুলি প্রশ্নের ব্যাখ্যার আস্থার উপর নির্ভর করে। সূচীকৃত নথিতে কোয়েরি স্ট্রিংগুলি কোথায় উপস্থিত হয় তা সহ বিভিন্ন কারণের উপর নির্ভর করে আস্থা। একটি স্ট্রিং, যেমন অভিনেতার নাম "টম হ্যাঙ্কস," actors
নামক একটি স্কিমা ক্ষেত্রে ধারাবাহিকভাবে উপস্থিত হওয়ার ফলে উচ্চ আত্মবিশ্বাস হয়। একই স্ট্রিং ("টম হ্যাঙ্কস") স্কিমা ক্ষেত্রের পরিবর্তে একটি অনুচ্ছেদের মধ্যে উপস্থিত হওয়ার ফলে আত্মবিশ্বাস কম হতে পারে। দৃঢ় আত্মবিশ্বাসের ক্ষেত্রে, শুধুমাত্র ক্যোয়ারী ব্যাখ্যার ফলাফল ব্যবহারকারীর কাছে প্রদর্শিত হয়। দুর্বল আত্মবিশ্বাসের ক্ষেত্রে, কোয়েরি ব্যাখ্যার ফলাফলগুলি একটি সাধারণ কীওয়ার্ড অনুসন্ধান ফলাফলের সাথে মিশ্রিত হয়।
উদাহরণ ক্যোয়ারী ব্যাখ্যা
ধরুন আপনার কাছে একটি ডাটা সোর্স আছে, যেমন একটি ডাটাবেস, যেখানে চলচ্চিত্র সম্পর্কিত তথ্য রয়েছে। চিত্র 1 একটি নমুনা অনুসন্ধান ক্যোয়ারী এবং ফলাফল ব্যাখ্যা দেখায়।
![ক্যোয়ারী ব্যাখ্যার ওভারভিউ](https://developers.google.cn/static/cloud-search/images/query-interpretation.png?authuser=3&hl=bn)
এই উদাহরণ ক্যোয়ারী দেওয়া, ক্যোয়ারী ব্যাখ্যা নিম্নলিখিত করে:
স্কিমা পার্স করে এবং নির্ধারণ করে যে ডেটা উৎসের শীর্ষ-স্তরের বস্তুগুলিকে
objecttype:movies
হিসাবে শ্রেণীবদ্ধ করা হয়েছে। ক্যোয়ারী ব্যাখ্যা এখন জানে যে ক্যোয়ারীতে "চলচ্চিত্র" একটি অবজেক্ট টাইপ।স্ট্রিং "অ্যাকশন" কোথায় ঘটে তা নির্ধারণ করতে স্কিমার সাথে একত্রে ডেটা উৎসে নথি স্ক্যান করে। যদি স্ট্রিংটি প্রাথমিকভাবে একটি নির্দিষ্ট "জেনার" ডেটা সোর্স ফিল্ডে ঘটে থাকে, তাহলে ক্যোয়ারী ইন্টারপ্রিটেশনের আত্মবিশ্বাস থাকে যে "অ্যাকশন" হল স্কিমাতে সংজ্ঞায়িত প্রপার্টি "জেনার" এর জন্য একটি সম্পত্তি মান। যদি স্ট্রিংটি প্রাথমিকভাবে বিষয়বস্তুর অনুচ্ছেদের প্রেক্ষাপটে ঘটে, তাহলে ক্যোয়ারী ইন্টারপ্রিটেশনের আত্মবিশ্বাসের মাত্রা কমে যায়।
ফলস্বরূপ ক্যোয়ারী ব্যাখ্যা হল:
actor:“tom hanks” genre:action objecttype:movies
কোনো অতিরিক্ত কাজ ছাড়াই সমস্ত ক্লাউড অনুসন্ধান গ্রাহকদের জন্য ক্যোয়ারী ব্যাখ্যা স্বয়ংক্রিয়ভাবে সক্ষম হয়৷ যাইহোক, সর্বোত্তম ক্যোয়ারী ব্যাখ্যার জন্য আপনাকে এই নথিতে নির্দেশাবলী অনুসারে আপনার স্কিমা গঠন করা উচিত।
ক্যোয়ারী ব্যাখ্যা সমর্থন করার জন্য আপনার স্কিমা গঠন করুন
আপনি ক্যোয়ারী ব্যাখ্যা থেকে উপকৃত হতে পারেন তা নিশ্চিত করতে আপনার স্কিমা গঠন করা উচিত।
প্রদর্শন নামের ব্যাখ্যা সক্ষম করুন
ক্লাউড সার্চের ক্যোয়ারী ব্যাখ্যা একটি স্কিমাতে objectDefinitions
এবং propertyDefinitions
ব্যবহার করে ব্যবহারকারীর ক্যোয়ারী ব্যাখ্যা করতে এবং ফলাফল টিউন করতে। এই স্কিমা উপাদানগুলির সুবিধা সর্বাধিক করার জন্য, আপনাকে প্রপার্টির নামের জন্য displayLabel
, অবজেক্টের নামের জন্য objectDisplayLabel
এবং অপারেটরদের জন্য operatorName
ব্যবহার করে স্বজ্ঞাত প্রদর্শন নাম তৈরি করতে হবে।
নিম্নলিখিত স্কিমা একটি চলচ্চিত্র বস্তুর জন্য স্বজ্ঞাত প্রদর্শন নাম দেখায়:
{
"objectDefinitions": [
{
"name": "movie",
"options": {
"displayOptions": {
"objectDisplayLabel": "Films"
}
...
},
"propertyDefinitions": [
{
"name": "genre",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"textPropertyOptions": {
"retrievalImportance": { "importance": "HIGHEST" },
"operatorOptions": {
"operatorName": "genre"
}
},
"displayOptions": {
"displayLabel": "Category"
}
},
...
]
}
]
}
আগের উদাহরণে:
মুভি অবজেক্টের সংজ্ঞাটিতে একটি "ফিল্ম"
objectDisplayLabel
রয়েছে।জেনার প্রপার্টি ডেফিনিশনের একটি "জেনার"
operatorName
এবং একটি "বিভাগ"displayLabel
রয়েছে।
এই প্রদর্শনের নামগুলি ক্লাউড অনুসন্ধানকে নিম্নলিখিত ক্যোয়ারী ব্যাখ্যা করতে সক্ষম করে:
- "অ্যাকশন মুভি," "জেনার অ্যাকশন টাইপ মুভি" বা "সিনেমার জেনার অ্যাকশন"
genre:action object:movies
হিসাবে ব্যাখ্যা করা হয়। - "জেনার অ্যাকশন বা থ্রিলার সহ সিনেমা"কে
objecttype:movies genre:(action OR thriller)
। - "অ্যাকশন ফিল্ম" বা "অ্যাকশন ফিল্ম"
genre:action objecttype:movies
হিসাবে ব্যাখ্যা করা হয়। - "কমেডি ক্যাটাগরির সিনেমা"
genre:comedy objecttype:movies
হিসেবে ব্যাখ্যা করা হয়।
তারিখ, সংখ্যাসূচক, এবং বাছাই ব্যাখ্যা সক্ষম করুন
সমস্ত তারিখ এবং সংখ্যাসূচক বৈশিষ্ট্যের জন্য, IntegerOperatorOptions
এ নির্দিষ্ট করা, lessThanOperatorName
এবং greaterThanOperatorName
সংজ্ঞায়িত করা উচিত। এই সেটিংস স্বয়ংক্রিয় তারিখ এবং সংখ্যাসূচক ব্যাখ্যা সক্ষম করে। অতিরিক্তভাবে, সাজানোর ব্যাখ্যা সক্ষম করতে, তারিখ এবং সংখ্যাসূচক বৈশিষ্ট্যের জন্য isSortable
বিকল্পটি সেট করুন। নিম্নলিখিত স্কিমা দেখায় কিভাবে এই বিকল্পগুলি সক্রিয় করতে হয়।
{
"objectDefinitions": [
{
"options": {
"displayOptions": {
"objectDisplayLabel": "Films"
}
},
"propertyDefinitions": [
{
"name": "runtime",
"isReturnable": true,
"isSortable": true,
"integerPropertyOptions": {
"orderedRanking": "DESCENDING",
"minimumValue": {
"value": 10
},
"maximumValue": {
"value": 500
},
"operatorOptions": {
"operatorName": "runtime",
"lessThanOperatorName": "runtimelessthan",
"greaterThanOperatorName": "runtimegreaterthan"
}
},
"displayOptions": {
"displayLabel": "Length"
}
},
{
"name": "releasedate",
"isReturnable": true,
"isSortable": true,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "releasedate",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
}
]
}
]
}
আগের উদাহরণে:
- সংখ্যাসূচক সম্পত্তি
runtime
একটি সিনেমার দৈর্ঘ্য বোঝায়। এই সম্পত্তির জন্যruntimelessthan
এবংruntimegreaterthan
সেট করা আছে। - তারিখ সম্পত্তি
releaseDate
বোঝায় যখন একটি সিনেমা প্রেক্ষাগৃহে মুক্তি পায়।releasedbefore
এবংreleasedafter
এই সম্পত্তির জন্য সেট করা হয়েছে।
এই সেটিংস ক্লাউড সার্চকে নিম্নলিখিত ক্যোয়ারী ব্যাখ্যা করতে সক্ষম করে:
- বছরটি 2019 ধরে নিলে, "এই বছর মুক্তিপ্রাপ্ত চলচ্চিত্রগুলি"কে
objecttype: movies releasedafter:2019-1-1 releasedbefore:2019-12-31
৷ - সপ্তাহটি মার্চের তৃতীয় সপ্তাহ বলে ধরে নিলে, "গত সপ্তাহে মুক্তিপ্রাপ্ত চলচ্চিত্র"কে
objecttype: movies releasedafter:2019-3-10 releasedbefore:2019-3-16
- "90 এর কম রানটাইম সহ সিনেমা"
objjecttype: movies runtimelessthan:90
। - বছরটি 2019 ধরে নিলে, "এই বছর মুক্তিপ্রাপ্ত চলচ্চিত্র এবং 120 টির বেশি দৈর্ঘ্য"কে প্রকাশ করা হয়েছে
releasedafter:2019-1-1 releasedbefore:2019-12-31 objecttype:movies runtimegreaterthan:120
। - "রিলিজের তারিখ অনুসারে মুভিগুলি বাছাই" ফিল্টার করবে "অবজেক্টটাইপ: মুভি" এবং উপস্থাপিত ফলাফলগুলি মুক্তির তারিখে সাজানো হবে ডিফল্ট সাজানোর ক্রম ক্রমবর্ধমান।
সংরক্ষিত অপারেটর ব্যাখ্যা সক্ষম করুন
আপনি ক্যোয়ারী ব্যাখ্যা উন্নত করতে , before
, after
, objecttype
সংরক্ষিত অন্তর্নির্মিত অপারেটর ব্যবহার করতে পারেন type
একটি নথি সূচী করার সময়, নিম্নলিখিতগুলি করুন:
অপারেটরদের
before
এবংafter
ব্যবহার করার জন্যItemMetadata
updateTime
ক্ষেত্রটি পপুলেট করুন। এই সেটিংস ক্লাউড সার্চকে নিম্নলিখিত ক্যোয়ারী ব্যাখ্যা করতে সক্ষম করে:- "গত সপ্তাহের চলচ্চিত্র" আগের সপ্তাহে সূচীতে আপডেট করা সমস্ত চলচ্চিত্রের তালিকা করবে।
- "জানুয়ারি 2019 এর আগে সিনেমা" জানুয়ারী 2019 এর আগে সূচিত করা সমস্ত সিনেমার তালিকা করবে।
টাইপের স্বয়ংক্রিয় শনাক্তকরণ ব্যবহার করতে
ItemMetadata
mimeType
ক্ষেত্রটি পপুলেট করুন। একটি ক্যোয়ারী "অ্যাকশন ভিডিও" সমস্ত অ্যাকশন মুভি নথির তালিকা করবে একটি মাইম ধরনেরapplication/mp4
,application/mpeg4
,application/x-shockwave-flash
,video/
, এবংapplication/vnd.google-apps.video
।
ক্যোয়ারী ব্যাখ্যা সীমাবদ্ধতা
ক্যোয়ারী ব্যাখ্যা বৈশিষ্ট্য নিম্নলিখিত সীমাবদ্ধতা আছে.
- ক্যোয়ারী ব্যাখ্যা শুধুমাত্র এই ডেটাসোর্স ACL এর জন্য কাজ করে:
- সমস্ত নথি ডোমেন পাবলিক (ডোমেনের প্রত্যেকে অ্যাক্সেস করতে পারে)।
- সকল ডকুমেন্ট ডাটাসোর্স পাবলিক (যার কাছে ডেটা সোর্স ACL অ্যাক্সেস আছে)।
- ডেটাসোর্সের বেশিরভাগ নথিতে একই ACL থাকে (সমস্ত নথি একই ধারক আইটেম থেকে ACL উত্তরাধিকার সূত্রে পায়) কোনো অতিরিক্ত পাঠক সংজ্ঞায়িত করা হয়নি।
- যদি একাধিক স্কিমা অপারেটরের একই মান থাকে, তাহলে একটি প্রশ্নের জন্য একটি অপারেটরের অভিপ্রায়ের কাছে সেই মানের ব্যাখ্যাটি ক্যোয়ারী ইন্টারপ্রিটেশন সিস্টেম দ্বারা প্রত্যাবর্তিত সামগ্রিক আত্মবিশ্বাসের ফ্যাক্টরের উপর নির্ভর করে। উদাহরণস্বরূপ, ধরুন আপনার স্কিমাতে সংজ্ঞায়িত একই অপারেটরের নামগুলির সাথে বৈশিষ্ট্যগুলির
priority
এবংseverity
রয়েছে৷ ধরা যাক উভয় অপারেটরের মান 0, 1, 2, বা 3 থাকতে পারে। এই উদাহরণে, একটি প্রশ্নে "0"priority
বাseverity
জন্য অপারেটর মান উল্লেখ করতে পারে। এই মানগুলি অস্পষ্ট এবং আত্মবিশ্বাসের স্তর কম। - ডিফল্টরূপে, ক্লাউড সার্চের ক্যোয়ারী ইন্টারপ্রিটেশন ক্যোয়ারী ব্যাখ্যা করার সময় ক্ষেত্রের মানের কেস কম করে, সেইসব টেক্সট অপারেটরগুলি ছাড়া যা
exactMatchWithOperator
বিকল্পগুলির সাথে সংজ্ঞায়িত করা হয়েছে৷ -
source
অপারেটর কোয়েরিতে সমর্থিত নয়। - অপারেটর-ভিত্তিক শর্তাবলী এবং বিনামূল্যের পাঠ্য-শব্দগুলিকে একত্রিত করে এমন প্রশ্নগুলি ব্যাখ্যা করা হয় না। উদাহরণস্বরূপ, "p0 অগ্রাধিকার মামলা তীব্রতা: s0" কোয়েরিটি সমর্থিত হবে না কারণ "p0 অগ্রাধিকার মামলাগুলি" একটি বিনামূল্যের পাঠ্য-টার্ম যখন "severity:s0" একটি অপারেটর-ভিত্তিক শব্দ৷
- ক্যোয়ারী ব্যাখ্যার কৌশল সর্বদা ব্যাখ্যা করা ফলাফলকে সাধারণ (অ-ব্যাখ্যা করা, প্রাসঙ্গিক-র্যাঙ্কযুক্ত) ফলাফলের সাথে মিশ্রিত করে। এটি ফলাফলের সম্পূর্ণ পৃষ্ঠা প্রতিস্থাপন করে না।