একটি স্কিমা তৈরি করুন এবং নিবন্ধন করুন

গুগল ক্লাউড সার্চ স্কিমা হল একটি JSON স্ট্রাকচার যা ডেটা ইন্ডেক্সিং এবং কোয়েরি করার জন্য অবজেক্ট, প্রোপার্টি এবং বিকল্পগুলিকে সংজ্ঞায়িত করে। আপনার কন্টেন্ট কানেক্টর রিপোজিটরি ডেটা স্ট্রাকচার এবং ইন্ডেক্স করার জন্য নিবন্ধিত স্কিমা ব্যবহার করে।

API-তে একটি JSON স্কিমা অবজেক্ট প্রদান করে আপনি একটি স্কিমা তৈরি করেন। ডেটা ইন্ডেক্স করার আগে আপনাকে প্রতিটি রিপোজিটরির জন্য একটি স্কিমা নিবন্ধন করতে হবে।

এই ডকুমেন্টটি স্কিমা তৈরির মূল বিষয়গুলি কভার করে। অনুসন্ধান অভিজ্ঞতা অপ্টিমাইজ করতে, অনুসন্ধানের মান উন্নত করুন দেখুন।

একটি স্কিমা তৈরি করুন

আপনার ক্লাউড সার্চ স্কিমা তৈরি করতে এই ধাপগুলি অনুসরণ করুন:

  1. প্রত্যাশিত ব্যবহারকারীর আচরণ শনাক্ত করুন
  2. একটি ডেটা উৎস শুরু করুন
  3. আপনার বস্তুগুলি সংজ্ঞায়িত করুন
  4. বস্তুর বৈশিষ্ট্য নির্ধারণ করুন
  5. আপনার স্কিমা নিবন্ধন করুন
  6. আপনার ডেটা সূচী করুন
  7. আপনার স্কিমা পরীক্ষা করুন
  8. আপনার স্কিমা টিউন করুন

প্রত্যাশিত ব্যবহারকারীর আচরণ শনাক্ত করুন

ব্যবহারকারীরা কীভাবে অনুসন্ধান করেন তা অনুমান করা আপনার স্কিমা কৌশল নির্ধারণে সহায়তা করে। একটি চলচ্চিত্র ডাটাবেসের জন্য, ব্যবহারকারীরা "রবার্ট রেডফোর্ড অভিনীত চলচ্চিত্র" অনুসন্ধান করতে পারেন। আপনার স্কিমা অবশ্যই একটি নির্দিষ্ট অভিনেতার সিনেমার জন্য অনুসন্ধান সমর্থন করবে।

ব্যবহারকারীর আচরণের সাথে আপনার স্কিমা সারিবদ্ধ করতে:

  1. বিভিন্ন ব্যবহারকারীর বিভিন্ন প্রশ্নের মূল্যায়ন করুন।
  2. লজিক্যাল ডেটা সেট বা বস্তু সনাক্ত করুন, যেমন একটি "চলচ্চিত্র"।
  3. শিরোনাম বা প্রকাশের তারিখের মতো বৈশিষ্ট্য (গুণাবলী) সনাক্ত করুন।
  4. "রেইডার্স অফ দ্য লস্ট আর্ক" এর মতো বৈশিষ্ট্যের জন্য বৈধ মান চিহ্নিত করুন।
  5. বাছাই এবং র‍্যাঙ্কিংয়ের চাহিদা নির্ধারণ করুন, যেমন কালানুক্রমিক ক্রম বা দর্শক রেটিং।
  6. স্বয়ংক্রিয়ভাবে সম্পূর্ণ করার পরামর্শ উন্নত করতে, কাজের ভূমিকার মতো প্রসঙ্গ বৈশিষ্ট্যগুলি সনাক্ত করুন।
  7. এই অবজেক্ট, প্রোপার্টি এবং উদাহরণের মান তালিকাভুক্ত করুন। অপারেটর অপশন নির্ধারণ করতে এই তালিকাটি ব্যবহার করুন।

আপনার ডেটা সোর্স শুরু করুন

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

আপনার বস্তুগুলি সংজ্ঞায়িত করুন

অবজেক্ট হলো স্কিমার মৌলিক একক। "চলচ্চিত্র" বা "ব্যক্তি" এর মতো লজিক্যাল স্ট্রাকচার হলো অবজেক্ট। প্রতিটি অবজেক্টেরই শিরোনাম, সময়কাল বা নামের মতো বৈশিষ্ট্য থাকে।

সত্তার মধ্যে স্কিমা সংযোগের অঙ্কন
চিত্র ১. দুটি বস্তু এবং একটি উপ-বস্তু সহ একটি নমুনা স্কিমা।

স্কিমা হলো objectDefinitions ট্যাগে থাকা অবজেক্টের সংজ্ঞার একটি তালিকা।

{
  "objectDefinitions": [
    { "name": "movie" },
    { "name": "person" }
  ]
}

প্রতিটি বস্তুর জন্য অনন্য নাম ব্যবহার করুন, যেমন movie । স্কিমা পরিষেবা এই নামগুলিকে কী হিসাবে ব্যবহার করে। ObjectDefinition দেখুন।

বস্তুর বৈশিষ্ট্য নির্ধারণ করুন

propertyDefinitions বিভাগে title এবং release date এর মতো বৈশিষ্ট্যগুলি সংজ্ঞায়িত করুন। freshnessOptions (র‍্যাঙ্কিং) এবং displayOptions (UI লেবেল) এর জন্য options ব্যবহার করুন।

{
  "objectDefinitions": [{
    "name": "movie",
    "propertyDefinitions": [
      {
        "name": "movieTitle",
        "isReturnable": true,
        "textPropertyOptions": {
          "retrievalImportance": { "importance": "HIGHEST" },
          "operatorOptions": { "operatorName": "title" }
        },
        "displayOptions": { "displayLabel": "Title" }
      },
      {
        "name": "releaseDate",
        "isReturnable": true,
        "isSortable": true,
        "datePropertyOptions": {
          "operatorOptions": {
            "operatorName": "released",
            "lessThanOperatorName": "releasedbefore",
            "greaterThanOperatorName": "releasedafter"
          }
        }
      }
    ]
  }]
}

একটি সম্পত্তি সংজ্ঞার মধ্যে রয়েছে:

  • একটি name স্ট্রিং।
  • টাইপ-অ্যাগনস্টিক বিকল্পগুলি (যেমন, isReturnable )।
  • একটি টাইপ এবং টাইপ-নির্দিষ্ট বিকল্প (যেমন, textPropertyOptions )।
  • অনুসন্ধান অপারেটরদের জন্য operatorOptions
  • UI লেবেলের জন্য displayOptions

আপনি বিভিন্ন অবজেক্টে প্রোপার্টি নাম পুনঃব্যবহার করতে পারেন। উদাহরণস্বরূপ, movieTitle একটি movie অবজেক্ট এবং একজন person অবজেক্টের ফিল্মোগ্রাফি উভয় ক্ষেত্রেই প্রদর্শিত হতে পারে।

টাইপ-অ্যাগনস্টিক বিকল্প যোগ করুন

PropertyDefinition-এ বুলিয়ান অপশন অন্তর্ভুক্ত থাকে যা কোনও প্রপার্টির জন্য অনুসন্ধান কার্যকারিতা কনফিগার করতে পারে, তা তার ধরণ নির্বিশেষে। এই অপশনগুলি ডিফল্টভাবে false হিসেবে নির্ধারিত হয় এবং ব্যবহারের জন্য true হিসেবে সেট করতে হবে।

  • isReturnable : Query API ব্যবহার করে অনুসন্ধান ফলাফলে সম্পত্তির ডেটা ফেরত পাঠানোর ক্ষেত্রে true তে সেট করা হয়। ফেরত না দেওয়া বৈশিষ্ট্যগুলি ফলাফলে উপস্থিত না হয়ে অনুসন্ধান বা র‍্যাঙ্কিংয়ের জন্য ব্যবহার করা যেতে পারে।
  • isRepeatable : যদি প্রোপার্টির একাধিক মান থাকে, তাহলে true তে সেট করা হয়। উদাহরণস্বরূপ, একটি সিনেমার মুক্তির তারিখ একটি কিন্তু অভিনেতা একাধিক।
  • isSortable : যদি সম্পত্তিটি সাজানোর জন্য ব্যবহার করা যায় তবে true তে সেট করুন। যদি isRepeatable true হয় অথবা সম্পত্তিটি পুনরাবৃত্তিযোগ্য উপ-বস্তুর ভিতরে থাকে তবে true হতে পারে না।
  • isFacetable : যদি বৈশিষ্ট্যটি ফ্যাসেট তৈরির জন্য ব্যবহার করা যায় (অনুসন্ধান ফলাফল পরিমার্জন করতে ব্যবহৃত বৈশিষ্ট্য) তাহলে true তে সেট করুন।
    • true হতে হলে isReturnable প্রয়োজন।
    • শুধুমাত্র enum, boolean, এবং text বৈশিষ্ট্যের জন্য সমর্থিত।
  • isWildcardSearchable : ব্যবহারকারীদের এই প্রপার্টিতে ওয়াইল্ডকার্ড অনুসন্ধান করার অনুমতি দেওয়ার জন্য true তে সেট করুন। এই বিকল্পটি শুধুমাত্র টেক্সট প্রপার্টিতে উপলব্ধ এবং এর আচরণ exactMatchWithOperator সেটিং এর উপর নির্ভর করে:
    • যদি exactMatchWithOperator true হয়: তাহলে টেক্সট মানটি একটি একক টোকেন হিসেবে গণ্য করা হবে। science-* এর মতো একটি কোয়েরি science-fiction মানের সাথে মিলে যাবে।
    • যদি exactMatchWithOperator false হয়: তাহলে টেক্সটের মান টোকেনাইজ করা হয়। sci* বা fi* এর মতো একটি কোয়েরি science-fiction সাথে মেলে, কিন্তু science-* সাথে মেলে না।

প্রকার নির্ধারণ করুন

উপযুক্ত প্রোপার্টি অপশন অবজেক্ট (যেমন, textPropertyOptions ) নির্ধারণ করে ডেটা টাইপ সেট করুন। যদি আপনি সমস্ত সম্ভাব্য মান জানেন তবে enums ( enumPropertyOptions ) ব্যবহার করুন। একটি প্রোপার্টিতে কেবল একটি ডেটা টাইপ থাকতে পারে।

অপারেটর বিকল্পগুলি সংজ্ঞায়িত করুন

operatorOptions বর্ণনা করে কিভাবে একটি সম্পত্তি অনুসন্ধান অপারেটর হিসেবে কাজ করে।

প্রতিটি operatorOptions একটি operatorName (যেমন, title ) প্রয়োজন। ব্যবহারকারীরা এই প্যারামিটারের মাধ্যমে কোয়েরি টাইপ করে (যেমন, title:titanic )। স্বজ্ঞাত নাম ব্যবহার করুন এবং ব্যবহারকারীদের কাছে সেগুলো প্রকাশ করুন।

আপনি একই ধরণের বৈশিষ্ট্যের মধ্যে একটি operatorName শেয়ার করতে পারেন। সেই নাম ব্যবহার করে করা প্রশ্নগুলি সমস্ত মিলিত বৈশিষ্ট্য থেকে ফলাফল সংগ্রহ করে।

তুলনামূলক প্রশ্নের জন্য বাছাইযোগ্য বৈশিষ্ট্যগুলিতে lessThanOperatorName এবং greaterThanOperatorName অন্তর্ভুক্ত থাকতে পারে। টেক্সট বৈশিষ্ট্যগুলিতে exactMatchWithOperator ব্যবহার করে সম্পূর্ণ মানকে একটি একক টোকেন হিসেবে বিবেচনা করা যেতে পারে।

প্রদর্শনের বিকল্প যোগ করুন

ঐচ্ছিক displayOptions বিভাগে একটি displayLabel রয়েছে। এটি একটি ব্যবহারকারী-বান্ধব লেবেল যা অনুসন্ধান ফলাফলে দেখানো হয়।

সাজেশন ফিল্টারিং অপারেটর যোগ করুন

suggestionFilteringOperators[] ব্যবহার করে এমন একটি বৈশিষ্ট্য সংজ্ঞায়িত করুন যা স্বয়ংক্রিয়ভাবে সম্পূর্ণ পরামর্শ ফিল্টার করে (যেমন, ব্যবহারকারীর পছন্দের ধরণ অনুসারে চলচ্চিত্রের পরামর্শ ফিল্টার করা)। আপনি কেবল একটি পরামর্শ ফিল্টার সংজ্ঞায়িত করতে পারেন।

আপনার স্কিমা নিবন্ধন করুন

আপনার ডেটা সোর্স আইডি ব্যবহার করে স্কিমা পরিষেবার সাথে আপনার স্কিমা নিবন্ধন করুন। একটি UpdateSchema অনুরোধ ইস্যু করুন:

PUT https://cloudsearch.googleapis.com/v1/indexing/{name=datasources/*}/schema

আপনার স্কিমাটি নিবন্ধন না করে পরীক্ষা করতে validateOnly: true ব্যবহার করুন।

আপনার ডেটা সূচী করুন

রেজিস্ট্রেশনের পর, ইনডেক্স কল ব্যবহার করে ডেটা সোর্স পূরণ করুন, সাধারণত একটি সংযোগকারী দিয়ে।

ইন্ডেক্সিং অনুরোধের উদাহরণ:

{
  "name": "datasource/<data_source_id>/items/titanic",
  "metadata": {
    "title": "Titanic",
    "objectType": "movie"
  },
  "structuredData": {
    "object": {
      "properties": [{
        "name": "movieTitle",
        "textValues": { "values": ["Titanic"] }
      }]
    }
  },
  "itemType": "CONTENT_ITEM"
}

আপনার স্কিমা পরীক্ষা করুন

উৎপাদনের আগে একটি ছোট সংগ্রহস্থল দিয়ে পরীক্ষা করুন। এমন একটি ACL তৈরি করুন যা কেবলমাত্র একজন পরীক্ষা ব্যবহারকারীর ফলাফল সীমাবদ্ধ করে।

  • জেনেরিক কোয়েরি : সমস্ত মিলিত আইটেম দেখতে একটি স্ট্রিং (যেমন, "টাইটানিক") অনুসন্ধান করুন।
  • অপারেটর কোয়েরি : ফলাফল সীমিত করতে একটি অপারেটর (যেমন, actor:Zane ) ব্যবহার করুন।

আপনার স্কিমা টিউন করুন

ব্যবহারকারীর প্রতিক্রিয়া পর্যবেক্ষণ করুন এবং আপনার স্কিমা সামঞ্জস্য করুন। আরও স্বজ্ঞাত করার জন্য আপনি নতুন ক্ষেত্রগুলি সূচী করতে পারেন অথবা অপারেটরগুলির নাম পরিবর্তন করতে পারেন।

স্কিমা পরিবর্তনের পরে পুনঃসূচীকরণ করুন

নিম্নলিখিত পরিবর্তনগুলির জন্য আপনাকে পুনরায় সূচক করার প্রয়োজন নেই:

  • অপারেটরের নাম।
  • সংখ্যাসূচক সীমা।
  • অর্ডার করা র‍্যাঙ্কিং।
  • সতেজতা বা প্রদর্শনের বিকল্প।

আপনাকে নিম্নলিখিতগুলির জন্য পুনরায় সূচক করতে হবে:

  • বৈশিষ্ট্য বা বস্তু যোগ করা বা অপসারণ করা।
  • পরিবর্তন করা হচ্ছে isReturnable , isFacetable , অথবা isSortable to true
  • একটি সম্পত্তি চিহ্নিত করা isSuggestable

অনুমোদিত সম্পত্তি পরিবর্তন

সূচক ভঙ্গ করে বা অসঙ্গত ফলাফল সৃষ্টি করে এমন পরিবর্তনগুলি অনুমোদিত নয়, যার মধ্যে রয়েছে:

  • সম্পত্তির ডেটা টাইপ বা নাম।
  • exactMatchWithOperator অথবা retrievalImportance সেটিংস।

একটি জটিল স্কিমা পরিবর্তন করুন

একটি অননুমোদিত পরিবর্তন করতে, একটি পুরানো সংজ্ঞা থেকে একটি নতুন সংজ্ঞায় বৈশিষ্ট্য স্থানান্তর করুন:

  1. স্কিমায় ভিন্ন নামের একটি নতুন সম্পত্তি যোগ করুন।
  2. নতুন এবং পুরাতন উভয় বৈশিষ্ট্যের সাথে স্কিমা নিবন্ধন করুন।
  3. শুধুমাত্র নতুন বৈশিষ্ট্য ব্যবহার করে সূচকটি ব্যাকফিল করুন।
  4. স্কিমা থেকে পুরানো সম্পত্তিটি মুছে ফেলুন।
  5. নতুন প্রপার্টির নাম ব্যবহার করতে আপনার কোয়েরি কোড আপডেট করুন।

পুনঃব্যবহারের সমস্যা রোধ করতে ক্লাউড সার্চ ৩০ দিনের জন্য মুছে ফেলা আইটেম রেকর্ড করে।

আকার সীমাবদ্ধতা

  • সর্বোচ্চ ১০টি শীর্ষ-স্তরের বস্তু।
  • সর্বোচ্চ ১০টি স্তরের গভীরতা।
  • প্রতি বস্তুর জন্য সর্বোচ্চ ১০০০টি ক্ষেত্র (নেস্টেড ক্ষেত্র সহ)।

পরবর্তী পদক্ষেপ

  1. একটি অনুসন্ধান ইন্টারফেস তৈরি করুন।
  2. অনুসন্ধানের মান উন্নত করুন
  3. সর্বোত্তম ক্যোয়ারী ব্যাখ্যার জন্য একটি স্কিমা গঠন করুন
  4. সমার্থক শব্দের সংজ্ঞা দাও
,

গুগল ক্লাউড সার্চ স্কিমা হল একটি JSON স্ট্রাকচার যা ডেটা ইন্ডেক্সিং এবং কোয়েরি করার জন্য অবজেক্ট, প্রোপার্টি এবং বিকল্পগুলিকে সংজ্ঞায়িত করে। আপনার কন্টেন্ট কানেক্টর রিপোজিটরি ডেটা স্ট্রাকচার এবং ইন্ডেক্স করার জন্য নিবন্ধিত স্কিমা ব্যবহার করে।

API-তে একটি JSON স্কিমা অবজেক্ট প্রদান করে আপনি একটি স্কিমা তৈরি করেন। ডেটা ইন্ডেক্স করার আগে আপনাকে প্রতিটি রিপোজিটরির জন্য একটি স্কিমা নিবন্ধন করতে হবে।

এই ডকুমেন্টটি স্কিমা তৈরির মূল বিষয়গুলি কভার করে। অনুসন্ধান অভিজ্ঞতা অপ্টিমাইজ করতে, অনুসন্ধানের মান উন্নত করুন দেখুন।

একটি স্কিমা তৈরি করুন

আপনার ক্লাউড সার্চ স্কিমা তৈরি করতে এই ধাপগুলি অনুসরণ করুন:

  1. প্রত্যাশিত ব্যবহারকারীর আচরণ শনাক্ত করুন
  2. একটি ডেটা উৎস শুরু করুন
  3. আপনার বস্তুগুলি সংজ্ঞায়িত করুন
  4. বস্তুর বৈশিষ্ট্য নির্ধারণ করুন
  5. আপনার স্কিমা নিবন্ধন করুন
  6. আপনার ডেটা সূচী করুন
  7. আপনার স্কিমা পরীক্ষা করুন
  8. আপনার স্কিমা টিউন করুন

প্রত্যাশিত ব্যবহারকারীর আচরণ শনাক্ত করুন

ব্যবহারকারীরা কীভাবে অনুসন্ধান করেন তা অনুমান করা আপনার স্কিমা কৌশল নির্ধারণে সহায়তা করে। একটি চলচ্চিত্র ডাটাবেসের জন্য, ব্যবহারকারীরা "রবার্ট রেডফোর্ড অভিনীত চলচ্চিত্র" অনুসন্ধান করতে পারেন। আপনার স্কিমা অবশ্যই একটি নির্দিষ্ট অভিনেতার সিনেমার জন্য অনুসন্ধান সমর্থন করবে।

ব্যবহারকারীর আচরণের সাথে আপনার স্কিমা সারিবদ্ধ করতে:

  1. বিভিন্ন ব্যবহারকারীর বিভিন্ন প্রশ্নের মূল্যায়ন করুন।
  2. লজিক্যাল ডেটা সেট বা বস্তু সনাক্ত করুন, যেমন একটি "চলচ্চিত্র"।
  3. শিরোনাম বা প্রকাশের তারিখের মতো বৈশিষ্ট্য (গুণাবলী) সনাক্ত করুন।
  4. "রেইডার্স অফ দ্য লস্ট আর্ক" এর মতো বৈশিষ্ট্যের জন্য বৈধ মান চিহ্নিত করুন।
  5. বাছাই এবং র‍্যাঙ্কিংয়ের চাহিদা নির্ধারণ করুন, যেমন কালানুক্রমিক ক্রম বা দর্শক রেটিং।
  6. স্বয়ংক্রিয়ভাবে সম্পূর্ণ করার পরামর্শ উন্নত করতে, কাজের ভূমিকার মতো প্রসঙ্গ বৈশিষ্ট্যগুলি সনাক্ত করুন।
  7. এই অবজেক্ট, প্রোপার্টি এবং উদাহরণের মান তালিকাভুক্ত করুন। অপারেটর অপশন নির্ধারণ করতে এই তালিকাটি ব্যবহার করুন।

আপনার ডেটা সোর্স শুরু করুন

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

আপনার বস্তুগুলি সংজ্ঞায়িত করুন

অবজেক্ট হলো স্কিমার মৌলিক একক। "চলচ্চিত্র" বা "ব্যক্তি" এর মতো লজিক্যাল স্ট্রাকচার হলো অবজেক্ট। প্রতিটি অবজেক্টেরই শিরোনাম, সময়কাল বা নামের মতো বৈশিষ্ট্য থাকে।

সত্তার মধ্যে স্কিমা সংযোগের অঙ্কন
চিত্র ১. দুটি বস্তু এবং একটি উপ-বস্তু সহ একটি নমুনা স্কিমা।

স্কিমা হলো objectDefinitions ট্যাগে থাকা অবজেক্টের সংজ্ঞার একটি তালিকা।

{
  "objectDefinitions": [
    { "name": "movie" },
    { "name": "person" }
  ]
}

প্রতিটি বস্তুর জন্য অনন্য নাম ব্যবহার করুন, যেমন movie । স্কিমা পরিষেবা এই নামগুলিকে কী হিসাবে ব্যবহার করে। ObjectDefinition দেখুন।

বস্তুর বৈশিষ্ট্য নির্ধারণ করুন

propertyDefinitions বিভাগে title এবং release date এর মতো বৈশিষ্ট্যগুলি সংজ্ঞায়িত করুন। freshnessOptions (র‍্যাঙ্কিং) এবং displayOptions (UI লেবেল) এর জন্য options ব্যবহার করুন।

{
  "objectDefinitions": [{
    "name": "movie",
    "propertyDefinitions": [
      {
        "name": "movieTitle",
        "isReturnable": true,
        "textPropertyOptions": {
          "retrievalImportance": { "importance": "HIGHEST" },
          "operatorOptions": { "operatorName": "title" }
        },
        "displayOptions": { "displayLabel": "Title" }
      },
      {
        "name": "releaseDate",
        "isReturnable": true,
        "isSortable": true,
        "datePropertyOptions": {
          "operatorOptions": {
            "operatorName": "released",
            "lessThanOperatorName": "releasedbefore",
            "greaterThanOperatorName": "releasedafter"
          }
        }
      }
    ]
  }]
}

একটি সম্পত্তি সংজ্ঞার মধ্যে রয়েছে:

  • একটি name স্ট্রিং।
  • টাইপ-অ্যাগনস্টিক বিকল্পগুলি (যেমন, isReturnable )।
  • একটি টাইপ এবং টাইপ-নির্দিষ্ট বিকল্প (যেমন, textPropertyOptions )।
  • অনুসন্ধান অপারেটরদের জন্য operatorOptions
  • UI লেবেলের জন্য displayOptions

আপনি বিভিন্ন অবজেক্টে প্রোপার্টি নাম পুনঃব্যবহার করতে পারেন। উদাহরণস্বরূপ, movieTitle একটি movie অবজেক্ট এবং একজন person অবজেক্টের ফিল্মোগ্রাফি উভয় ক্ষেত্রেই প্রদর্শিত হতে পারে।

টাইপ-অ্যাগনস্টিক বিকল্প যোগ করুন

PropertyDefinition-এ বুলিয়ান অপশন অন্তর্ভুক্ত থাকে যা কোনও প্রপার্টির জন্য অনুসন্ধান কার্যকারিতা কনফিগার করতে পারে, তা তার ধরণ নির্বিশেষে। এই অপশনগুলি ডিফল্টভাবে false হিসেবে নির্ধারিত হয় এবং ব্যবহারের জন্য true হিসেবে সেট করতে হবে।

  • isReturnable : Query API ব্যবহার করে অনুসন্ধান ফলাফলে সম্পত্তির ডেটা ফেরত পাঠানোর ক্ষেত্রে true তে সেট করা হয়। ফেরত না দেওয়া বৈশিষ্ট্যগুলি ফলাফলে উপস্থিত না হয়ে অনুসন্ধান বা র‍্যাঙ্কিংয়ের জন্য ব্যবহার করা যেতে পারে।
  • isRepeatable : যদি প্রোপার্টির একাধিক মান থাকে, তাহলে true তে সেট করা হয়। উদাহরণস্বরূপ, একটি সিনেমার মুক্তির তারিখ একটি কিন্তু অভিনেতা একাধিক।
  • isSortable : যদি সম্পত্তিটি সাজানোর জন্য ব্যবহার করা যায় তবে true তে সেট করুন। যদি isRepeatable true হয় অথবা সম্পত্তিটি পুনরাবৃত্তিযোগ্য উপ-বস্তুর ভিতরে থাকে তবে true হতে পারে না।
  • isFacetable : যদি বৈশিষ্ট্যটি ফ্যাসেট তৈরির জন্য ব্যবহার করা যায় (অনুসন্ধান ফলাফল পরিমার্জন করতে ব্যবহৃত বৈশিষ্ট্য) তাহলে true তে সেট করুন।
    • true হতে হলে isReturnable প্রয়োজন।
    • শুধুমাত্র enum, boolean, এবং text বৈশিষ্ট্যের জন্য সমর্থিত।
  • isWildcardSearchable : ব্যবহারকারীদের এই প্রপার্টিতে ওয়াইল্ডকার্ড অনুসন্ধান করার অনুমতি দেওয়ার জন্য true তে সেট করুন। এই বিকল্পটি শুধুমাত্র টেক্সট প্রপার্টিতে উপলব্ধ এবং এর আচরণ exactMatchWithOperator সেটিং এর উপর নির্ভর করে:
    • যদি exactMatchWithOperator true হয়: তাহলে টেক্সট মানটি একটি একক টোকেন হিসেবে গণ্য করা হবে। science-* এর মতো একটি কোয়েরি science-fiction মানের সাথে মিলে যাবে।
    • যদি exactMatchWithOperator false হয়: তাহলে টেক্সটের মান টোকেনাইজ করা হয়। sci* বা fi* এর মতো একটি কোয়েরি science-fiction সাথে মেলে, কিন্তু science-* সাথে মেলে না।

প্রকার নির্ধারণ করুন

উপযুক্ত প্রোপার্টি অপশন অবজেক্ট (যেমন, textPropertyOptions ) নির্ধারণ করে ডেটা টাইপ সেট করুন। যদি আপনি সমস্ত সম্ভাব্য মান জানেন তবে enums ( enumPropertyOptions ) ব্যবহার করুন। একটি প্রোপার্টিতে কেবল একটি ডেটা টাইপ থাকতে পারে।

অপারেটর বিকল্পগুলি সংজ্ঞায়িত করুন

operatorOptions বর্ণনা করে কিভাবে একটি সম্পত্তি অনুসন্ধান অপারেটর হিসেবে কাজ করে।

প্রতিটি operatorOptions একটি operatorName (যেমন, title ) প্রয়োজন। ব্যবহারকারীরা এই প্যারামিটারের মাধ্যমে কোয়েরি টাইপ করে (যেমন, title:titanic )। স্বজ্ঞাত নাম ব্যবহার করুন এবং ব্যবহারকারীদের কাছে সেগুলো প্রকাশ করুন।

আপনি একই ধরণের বৈশিষ্ট্যের মধ্যে একটি operatorName শেয়ার করতে পারেন। সেই নাম ব্যবহার করে করা প্রশ্নগুলি সমস্ত মিলিত বৈশিষ্ট্য থেকে ফলাফল সংগ্রহ করে।

তুলনামূলক প্রশ্নের জন্য বাছাইযোগ্য বৈশিষ্ট্যগুলিতে lessThanOperatorName এবং greaterThanOperatorName অন্তর্ভুক্ত থাকতে পারে। টেক্সট বৈশিষ্ট্যগুলিতে exactMatchWithOperator ব্যবহার করে সম্পূর্ণ মানকে একটি একক টোকেন হিসেবে বিবেচনা করা যেতে পারে।

প্রদর্শনের বিকল্প যোগ করুন

ঐচ্ছিক displayOptions বিভাগে একটি displayLabel রয়েছে। এটি একটি ব্যবহারকারী-বান্ধব লেবেল যা অনুসন্ধান ফলাফলে দেখানো হয়।

সাজেশন ফিল্টারিং অপারেটর যোগ করুন

suggestionFilteringOperators[] ব্যবহার করে এমন একটি বৈশিষ্ট্য সংজ্ঞায়িত করুন যা স্বয়ংক্রিয়ভাবে সম্পূর্ণ পরামর্শ ফিল্টার করে (যেমন, ব্যবহারকারীর পছন্দের ধরণ অনুসারে চলচ্চিত্রের পরামর্শ ফিল্টার করা)। আপনি কেবল একটি পরামর্শ ফিল্টার সংজ্ঞায়িত করতে পারেন।

আপনার স্কিমা নিবন্ধন করুন

আপনার ডেটা সোর্স আইডি ব্যবহার করে স্কিমা পরিষেবার সাথে আপনার স্কিমা নিবন্ধন করুন। একটি UpdateSchema অনুরোধ ইস্যু করুন:

PUT https://cloudsearch.googleapis.com/v1/indexing/{name=datasources/*}/schema

আপনার স্কিমাটি নিবন্ধন না করে পরীক্ষা করতে validateOnly: true ব্যবহার করুন।

আপনার ডেটা সূচী করুন

রেজিস্ট্রেশনের পর, ইনডেক্স কল ব্যবহার করে ডেটা সোর্স পূরণ করুন, সাধারণত একটি সংযোগকারী দিয়ে।

ইন্ডেক্সিং অনুরোধের উদাহরণ:

{
  "name": "datasource/<data_source_id>/items/titanic",
  "metadata": {
    "title": "Titanic",
    "objectType": "movie"
  },
  "structuredData": {
    "object": {
      "properties": [{
        "name": "movieTitle",
        "textValues": { "values": ["Titanic"] }
      }]
    }
  },
  "itemType": "CONTENT_ITEM"
}

আপনার স্কিমা পরীক্ষা করুন

উৎপাদনের আগে একটি ছোট সংগ্রহস্থল দিয়ে পরীক্ষা করুন। এমন একটি ACL তৈরি করুন যা কেবলমাত্র একজন পরীক্ষা ব্যবহারকারীর ফলাফল সীমাবদ্ধ করে।

  • জেনেরিক কোয়েরি : সমস্ত মিলিত আইটেম দেখতে একটি স্ট্রিং (যেমন, "টাইটানিক") অনুসন্ধান করুন।
  • অপারেটর কোয়েরি : ফলাফল সীমিত করতে একটি অপারেটর (যেমন, actor:Zane ) ব্যবহার করুন।

আপনার স্কিমা টিউন করুন

ব্যবহারকারীর প্রতিক্রিয়া পর্যবেক্ষণ করুন এবং আপনার স্কিমা সামঞ্জস্য করুন। আরও স্বজ্ঞাত করার জন্য আপনি নতুন ক্ষেত্রগুলি সূচী করতে পারেন অথবা অপারেটরগুলির নাম পরিবর্তন করতে পারেন।

স্কিমা পরিবর্তনের পরে পুনঃসূচীকরণ করুন

নিম্নলিখিত পরিবর্তনগুলির জন্য আপনাকে পুনরায় সূচক করার প্রয়োজন নেই:

  • অপারেটরের নাম।
  • সংখ্যাসূচক সীমা।
  • অর্ডার করা র‍্যাঙ্কিং।
  • সতেজতা বা প্রদর্শনের বিকল্প।

আপনাকে নিম্নলিখিতগুলির জন্য পুনরায় সূচক করতে হবে:

  • বৈশিষ্ট্য বা বস্তু যোগ করা বা অপসারণ করা।
  • পরিবর্তন করা হচ্ছে isReturnable , isFacetable , অথবা isSortable to true
  • একটি সম্পত্তি চিহ্নিত করা isSuggestable

অনুমোদিত সম্পত্তি পরিবর্তন

সূচক ভঙ্গ করে বা অসঙ্গত ফলাফল সৃষ্টি করে এমন পরিবর্তনগুলি অনুমোদিত নয়, যার মধ্যে রয়েছে:

  • সম্পত্তির ডেটা টাইপ বা নাম।
  • exactMatchWithOperator অথবা retrievalImportance সেটিংস।

একটি জটিল স্কিমা পরিবর্তন করুন

একটি অননুমোদিত পরিবর্তন করতে, একটি পুরানো সংজ্ঞা থেকে একটি নতুন সংজ্ঞায় বৈশিষ্ট্য স্থানান্তর করুন:

  1. স্কিমায় ভিন্ন নামের একটি নতুন সম্পত্তি যোগ করুন।
  2. নতুন এবং পুরাতন উভয় বৈশিষ্ট্যের সাথে স্কিমা নিবন্ধন করুন।
  3. শুধুমাত্র নতুন বৈশিষ্ট্য ব্যবহার করে সূচকটি ব্যাকফিল করুন।
  4. স্কিমা থেকে পুরানো সম্পত্তিটি মুছে ফেলুন।
  5. নতুন প্রপার্টির নাম ব্যবহার করতে আপনার কোয়েরি কোড আপডেট করুন।

পুনঃব্যবহারের সমস্যা রোধ করতে ক্লাউড সার্চ ৩০ দিনের জন্য মুছে ফেলা আইটেম রেকর্ড করে।

আকার সীমাবদ্ধতা

  • সর্বোচ্চ ১০টি শীর্ষ-স্তরের বস্তু।
  • সর্বোচ্চ ১০টি স্তরের গভীরতা।
  • প্রতি বস্তুর জন্য সর্বোচ্চ ১০০০টি ক্ষেত্র (নেস্টেড ক্ষেত্র সহ)।

পরবর্তী পদক্ষেপ

  1. একটি অনুসন্ধান ইন্টারফেস তৈরি করুন।
  2. অনুসন্ধানের মান উন্নত করুন
  3. সর্বোত্তম ক্যোয়ারী ব্যাখ্যার জন্য একটি স্কিমা গঠন করুন
  4. সমার্থক শব্দের সংজ্ঞা দাও