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

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

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

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

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

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

এই উদাহরণের জন্য, কোয়েরি ব্যাখ্যা:

  • স্কিমা থেকে নির্ধারণ করা হয় যে শীর্ষ-স্তরের অবজেক্টগুলোর ধরন হলো objecttype:movies
  • 'অ্যাকশন' কোথায় ঘটছে তা শনাক্ত করতে ডকুমেন্ট স্ক্যান করে। যদি এটি প্রধানত কোনো genre ফিল্ডে দেখা যায়, তাহলে এটি সেই ফিল্ডের একটি প্রপার্টি ভ্যালু হওয়ার সম্ভাবনা বেড়ে যায়।

এর ফলে যে ব্যাখ্যাটি পাওয়া যায় তা হলো: actor:"tom hanks" genre:action objecttype:movies

সকল ব্যবহারকারীর জন্য কোয়েরি ব্যাখ্যা স্বয়ংক্রিয়, কিন্তু নিম্নলিখিত বিভাগগুলিতে বর্ণিত উপায়ে আপনার স্কিমা গঠন করে আপনি এটিকে অপ্টিমাইজ করতে পারেন।

কোয়েরি ব্যাখ্যার জন্য আপনার স্কিমা গঠন করুন

আপনার স্কিমা অপ্টিমাইজ করা নিশ্চিত করে যে আপনি কোয়েরি ইন্টারপ্রিটেশন থেকে সুবিধা লাভ করবেন।

ডিসপ্লে নামের ব্যাখ্যা সক্ষম করুন

কোয়েরি ব্যাখ্যা করতে objectDefinitions এবং propertyDefinitions ব্যবহার করা হয়। প্রপার্টির জন্য displayLabel , অবজেক্টের জন্য objectDisplayLabel এবং অপারেটরের জন্য operatorName ব্যবহার করে সহজবোধ্য ডিসপ্লে নাম তৈরি করুন।

এই উদাহরণটি একটি মুভি অবজেক্টের জন্য সহজবোধ্য প্রদর্শনের নাম দেখায়:

{
  "objectDefinitions": [{
    "name": "movie",
    "options": {
      "displayOptions": { "objectDisplayLabel": "Films" }
    },
    "propertyDefinitions": [{
      "name": "genre",
      "isReturnable": true,
      "textPropertyOptions": {
        "operatorOptions": { "operatorName": "genre" }
      },
      "displayOptions": { "displayLabel": "Category" }
    }]
  }]
}

এই প্রদর্শিত নামগুলো নিম্নলিখিত ব্যাখ্যাগুলো সক্ষম করে:

  • "অ্যাকশন মুভি" -> genre:action object:movies
  • "অ্যাকশন বা থ্রিলার ঘরানার চলচ্চিত্র" -> objecttype:movies genre:(action OR thriller)
  • "কমেডি ক্যাটাগরির চলচ্চিত্র" -> genre:comedy objecttype:movies

তারিখ, সংখ্যাসূচক এবং সাজানোর ব্যাখ্যা সক্রিয় করুন

সমস্ত তারিখ এবং সংখ্যাসূচক প্রপার্টির জন্য IntegerOperatorOptionslessThanOperatorName এবং greaterThanOperatorName সংজ্ঞায়িত করুন। সর্টিং সক্ষম করতে, isSortable সেট করুন।

এই উদাহরণটি নিম্নলিখিত বিকল্পগুলি সক্ষম করে:

{
  "objectDefinitions": [{
    "propertyDefinitions": [
      {
        "name": "runtime",
        "isSortable": true,
        "integerPropertyOptions": {
          "operatorOptions": {
            "operatorName": "runtime",
            "lessThanOperatorName": "runtimelessthan",
            "greaterThanOperatorName": "runtimegreaterthan"
          }
        }
      },
      {
        "name": "releasedate",
        "isSortable": true,
        "datePropertyOptions": {
          "operatorOptions": {
            "operatorName": "releasedate",
            "lessThanOperatorName": "releasedbefore",
            "greaterThanOperatorName": "releasedafter"
          }
        }
      }
    ]
  }]
}

এই সেটিংগুলো নিম্নলিখিত ব্যাখ্যাগুলো সক্ষম করে:

  • "এই বছর মুক্তিপ্রাপ্ত চলচ্চিত্র" -> objecttype:movies releasedafter:2019-1-1 releasedbefore:2019-12-31
  • "৯০ মিনিটের কম দৈর্ঘ্যের চলচ্চিত্র" -> objecttype:movies runtimelessthan:90

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

type , before , after , এবং objecttype মতো বিল্ট-ইন অপারেটর ব্যবহার করুন:

  1. beforeafter ব্যবহারের জন্য ItemMetadata তে updateTime যোগ করুন।
  2. স্বয়ংক্রিয়ভাবে শনাক্তকরণের জন্য ItemMetadata তে mimeType পূরণ করুন। উদাহরণস্বরূপ, 'action videos' লিখলে ভিডিও MIME টাইপের ডকুমেন্টগুলো তালিকাভুক্ত হয়।

কোয়েরি ব্যাখ্যার সীমাবদ্ধতা

  • শুধুমাত্র এই ডেটা সোর্স ACL-গুলোর জন্য কাজ করে:
    • ডোমেইন পাবলিক।
    • তথ্যের উৎস সর্বজনীন।
    • অধিকাংশ ডকুমেন্টে একই উত্তরাধিকারসূত্রে প্রাপ্ত ACL রয়েছে।
  • একই অপারেটরের নাম (যেমন, priority এবং severity উভয়ের ক্ষেত্রে ০-৩ ব্যবহার) বিশ্বাসযোগ্যতা কমিয়ে দেয়।
  • ডিফল্টরূপে, ইন্টারপ্রিটেশনে ফিল্ড ভ্যালুগুলোর জন্য ছোট হাতের অক্ষর ব্যবহার করা হয়, যদি না আপনি exactMatchWithOperator ব্যবহার করেন।
  • source অপারেটরটি সমর্থিত নয়।
  • সম্মিলিত অপারেটর এবং মুক্ত-পাঠ্য পদ (যেমন, 'p0 cases severity:s0') ব্যাখ্যা করা হয় না।
  • ফলাফলগুলো সর্বদা প্রাসঙ্গিকতা অনুসারে সাজানো ফলাফলের সাথে মিশ্রিত করা হয়।