সর্বোত্তম ক্যোয়ারী ব্যাখ্যার জন্য একটি স্কিমা গঠন করুন

ক্লাউড সার্চের কোয়েরি ইন্টারপ্রিটেশন বৈশিষ্ট্যটি স্বয়ংক্রিয়ভাবে ব্যবহারকারীর কোয়েরিতে থাকা অপারেটর এবং ফিল্টারগুলিকে ব্যাখ্যা করে এবং সেই উপাদানগুলিকে একটি কাঠামোগত, অপারেটর-ভিত্তিক কোয়েরিতে রূপান্তরিত করে। কোয়েরি ইন্টারপ্রিটেশন সূচীবদ্ধ নথির সাথে স্কিমায় সংজ্ঞায়িত অপারেটরগুলি ব্যবহার করে, ব্যবহারকারীর কোয়েরির অর্থ কী তা অনুমান করে। এই বৈশিষ্ট্যটি ব্যবহারকারীকে ন্যূনতম কীওয়ার্ড দিয়ে অনুসন্ধান করতে দেয়, তবুও সুনির্দিষ্ট ফলাফল পেতে দেয়।

ব্যবহারকারীর কাছে উপস্থাপিত প্রকৃত ফলাফল ক্যোয়ারী ব্যাখ্যার আত্মবিশ্বাসের উপর নির্ভর করে। আত্মবিশ্বাস বিভিন্ন বিষয়ের উপর নির্ভর করে, যার মধ্যে রয়েছে সূচিবদ্ধ নথিতে ক্যোয়ারী স্ট্রিংগুলি কোথায় প্রদর্শিত হয়। অভিনেতা "টম হ্যাঙ্কস" এর নাম অনুসারে একটি স্ট্রিং, যা actors নামক একটি স্কিমা ক্ষেত্রে ধারাবাহিকভাবে উপস্থিত হলে উচ্চ আত্মবিশ্বাসের সৃষ্টি করে। স্কিমা ক্ষেত্রের পরিবর্তে একটি অনুচ্ছেদের মধ্যে একই স্ট্রিং ("টম হ্যাঙ্কস") উপস্থিত হলে, কম আত্মবিশ্বাসের সৃষ্টি হতে পারে। শক্তিশালী আত্মবিশ্বাসের ক্ষেত্রে, শুধুমাত্র ক্যোয়ারী ব্যাখ্যার ফলাফল ব্যবহারকারীর কাছে প্রদর্শিত হয়। দুর্বল আত্মবিশ্বাসের ক্ষেত্রে, ক্যোয়ারী ব্যাখ্যার ফলাফলগুলি একটি সাধারণ কীওয়ার্ড অনুসন্ধান ফলাফলের সাথে মিশ্রিত করা হয়।

উদাহরণ কোয়েরি ব্যাখ্যা

ধরুন আপনার কাছে একটি ডেটাবেস আছে, যেমন একটি ডাটাবেস, যেখানে সিনেমা সম্পর্কে তথ্য রয়েছে। চিত্র ১-এ একটি নমুনা অনুসন্ধান কোয়েরি এবং এর ফলে প্রাপ্ত ব্যাখ্যা দেখানো হয়েছে।

কোয়েরি ব্যাখ্যার সংক্ষিপ্তসার
চিত্র ১. প্রশ্নের ব্যাখ্যা

এই উদাহরণের কোয়েরিটি বিবেচনা করলে, কোয়েরি ব্যাখ্যা নিম্নলিখিত কাজগুলি করে:

  • স্কিমা বিশ্লেষণ করে এবং নির্ধারণ করে যে ডেটা উৎসের শীর্ষ-স্তরের বস্তুগুলিকে objecttype:movies হিসাবে শ্রেণীবদ্ধ করা হয়েছে। কোয়েরি ব্যাখ্যা এখন জানে যে কোয়েরিতে "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 নির্ধারিত হয়।

এই সেটিংস ক্লাউড সার্চকে নিম্নলিখিত কোয়েরির ব্যাখ্যা করতে সক্ষম করে:

  • ধরে নিচ্ছি যে সালটি ২০১৯, "এই বছর মুক্তিপ্রাপ্ত সিনেমা" objecttype: movies releasedafter:2019-1-1 releasedbefore:2019-12-31
  • ধরে নিচ্ছি সপ্তাহটি মার্চ মাসের তৃতীয় সপ্তাহ, "গত সপ্তাহে মুক্তিপ্রাপ্ত সিনেমা" objecttype: movies releasedafter:2019-3-10 releasedbefore:2019-3-16
  • "৯০ এর কম রানটাইম সহ সিনেমা" objjecttype: movies runtimelessthan:90 হিসাবে ব্যাখ্যা করা হয়।
  • ধরে নিচ্ছি যে সালটি ২০১৯, "এই বছর মুক্তিপ্রাপ্ত সিনেমা এবং ১২০-এর বেশি দৈর্ঘ্যের সিনেমা" releasedafter:2019-1-1 releasedbefore:2019-12-31 objecttype:movies runtimegreaterthan:120 হিসাবে ব্যাখ্যা করা হবে।
  • "মুক্তির তারিখ অনুসারে সিনেমা বাছাই করুন" "বস্তুর ধরণ: সিনেমা"-এ ফিল্টার করা হবে এবং উপস্থাপিত ফলাফলগুলি মুক্তির তারিখ অনুসারে সাজানো হবে এবং ডিফল্ট সাজানোর ক্রম ঊর্ধ্বমুখী হবে।

সংরক্ষিত অপারেটর ব্যাখ্যা সক্ষম করুন

আপনি কোয়েরি ব্যাখ্যা উন্নত করার জন্য type , before , after , objecttype সংরক্ষিত বিল্ট-ইন অপারেটর ব্যবহার করতে পারেন। একটি ডকুমেন্ট সূচীকরণ করার সময়, নিম্নলিখিতগুলি করুন:

  1. ItemMetadata তে updateTime ফিল্ডটি পূরণ করুন যাতে আপনি before এবং after অপারেটর ব্যবহার করতে পারেন। এই সেটিংস ক্লাউড সার্চকে নিম্নলিখিত কোয়েরি ব্যাখ্যা করতে সক্ষম করে:

    • "গত সপ্তাহের সিনেমা" আগের সপ্তাহে সূচীতে আপডেট করা সমস্ত সিনেমার তালিকা তৈরি করবে।
    • "জানুয়ারী ২০১৯ এর আগের সিনেমা" -এ জানুয়ারী ২০১৯ এর আগে তালিকাভুক্ত সমস্ত সিনেমার তালিকা থাকবে।
  2. অটোডিটেকশন টাইপ ব্যবহার করার জন্য ItemMetadata তে mimeType ফিল্ডটি পূরণ করুন। "action videos" কোয়েরিতে 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 অগ্রাধিকার কেস severity:s0" কোয়েরিটি সমর্থিত হবে না কারণ "p0 অগ্রাধিকার কেস" একটি বিনামূল্যের টেক্সট-পদ এবং "severity:s0" একটি অপারেটর-ভিত্তিক শব্দ।
  • কোয়েরি ব্যাখ্যা কৌশল সর্বদা ব্যাখ্যা করা ফলাফলগুলিকে সাধারণ (অ-ব্যাখ্যা করা, প্রাসঙ্গিকতা-র‌্যাঙ্কযুক্ত) ফলাফলের সাথে মিশ্রিত করে। এটি ফলাফলের পূর্ণ পৃষ্ঠা প্রতিস্থাপন করে না।