ক্যোয়ারী API দিয়ে একটি অনুসন্ধান ইন্টারফেস তৈরি করুন

ক্যোয়ারী API একটি অনুসন্ধান ইন্টারফেস তৈরি বা একটি অ্যাপ্লিকেশনে অনুসন্ধান ফলাফল এমবেড করার জন্য অনুসন্ধান এবং পরামর্শ প্রদান করে।

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

একটি অনুসন্ধান ইন্টারফেস তৈরি করুন

একটি ন্যূনতম অনুসন্ধান ইন্টারফেস তৈরি করতে বেশ কয়েকটি পদক্ষেপের প্রয়োজন:

  1. একটি অনুসন্ধান অ্যাপ্লিকেশন কনফিগার করুন
  2. অ্যাপ্লিকেশনের জন্য OAuth শংসাপত্র তৈরি করুন
  3. সূচক জিজ্ঞাসা করুন
  4. ক্যোয়ারী ফলাফল প্রদর্শন করুন

আপনি পেজিং, বাছাই, ফিল্টারিং, ফেসেট এবং অটো-সাজেস্টের মতো বৈশিষ্ট্যগুলির সাথে অনুসন্ধান ইন্টারফেসটিকে আরও উন্নত করতে পারেন।

একটি অনুসন্ধান অ্যাপ্লিকেশন কনফিগার করুন

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

অনুসন্ধান অ্যাপ্লিকেশন সম্পর্কে আরও তথ্যের জন্য, ক্লাউড অনুসন্ধানে অনুসন্ধান অভিজ্ঞতা কাস্টমাইজ করুন দেখুন ..

অ্যাপ্লিকেশনের জন্য OAuth শংসাপত্র তৈরি করুন

Google ক্লাউড অনুসন্ধান API-এ অ্যাক্সেস কনফিগার করার ধাপগুলি ছাড়াও, আপনাকে অবশ্যই ওয়েব অ্যাপ্লিকেশনের জন্য OAuth শংসাপত্র তৈরি করতে হবে। আপনি যে ধরনের শংসাপত্র তৈরি করেন তা নির্ভর করে APIটি যে প্রেক্ষাপটে ব্যবহৃত হয় তার উপর।

ব্যবহারকারীর পক্ষে অনুমোদনের অনুরোধ করতে শংসাপত্রগুলি ব্যবহার করুন৷ অনুমোদনের অনুরোধ করার সময় সুযোগ https://www.googleapis.com/auth/cloud_search.query ব্যবহার করুন।

OAuth বিকল্প এবং ক্লায়েন্ট লাইব্রেরি সম্পর্কে অতিরিক্ত তথ্যের জন্য, [Google Identity Platform](https://developers.google.com/identity/choose-auth{: .external target="_blank"} দেখুন।

সূচক জিজ্ঞাসা করুন

সূচকের বিরুদ্ধে অনুসন্ধান করতে search পদ্ধতি ব্যবহার করুন।

প্রতিটি অনুরোধে অবশ্যই দুটি টুকরো তথ্য অন্তর্ভুক্ত করতে হবে: আইটেমগুলির সাথে মেলে একটি পাঠ্য query এবং অনুসন্ধান অ্যাপ্লিকেশন ব্যবহারের জন্য আইডি সনাক্তকারী একটি searchApplicationId অ্যাপ্লিকেশন আইডি।

নিচের স্নিপেটটি টাইটানিক মুভির জন্য মুভি ডেটা উৎসের জন্য একটি ক্যোয়ারী দেখায়:

{
  "query": "titanic",
  "requestOptions": {
    "searchApplicationId": "searchapplications/<search_app_id>"
  },
}

ক্যোয়ারী ফলাফল প্রদর্শন করুন

সর্বনিম্নভাবে, অনুসন্ধান ইন্টারফেসগুলি আইটেমের title পাশাপাশি মূল আইটেমের একটি লিঙ্ক প্রদর্শন করবে বলে আশা করা হচ্ছে৷ আপনি অনুসন্ধান ফলাফলে উপস্থিত অতিরিক্ত তথ্য যেমন স্নিপেট এবং মেটাডেটা ব্যবহার করে অনুসন্ধান ফলাফলের প্রদর্শনকে আরও উন্নত করতে পারেন।

পরিপূরক ফলাফল হ্যান্ডেল

ডিফল্টরূপে, ক্লাউড অনুসন্ধান পরিপূরক ফলাফল প্রদান করে যখন ব্যবহারকারীর প্রশ্নের জন্য অপর্যাপ্ত ফলাফল থাকে। উত্তরের queryInterpretation ক্ষেত্র নির্দেশ করে যখন সম্পূরক ফলাফল ফেরত দেওয়া হয়। যদি শুধুমাত্র পরিপূরক ফলাফলগুলি ফেরত দেওয়া হয়, InterpretationType REPLACE এ সেট করা হয়েছে। যদি মূল প্রশ্নের জন্য কিছু ফলাফল সম্পূরক ফলাফলের সাথে ফেরত দেওয়া হয়, তবে InterpretationType BLEND এ সেট করা হয়েছে। উভয় ক্ষেত্রেই QueryInterpretation.Reason = NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY

যখন কিছু সম্পূরক ফলাফল ফেরত দেওয়া হয়, তখন পরিপূরক ফলাফল ফেরত দেওয়া হয়েছে তা নির্দেশ করার জন্য পাঠ্য প্রদান করার কথা বিবেচনা করুন। উদাহরণস্বরূপ, একটি REPLACE এর ক্ষেত্রে, আপনি স্ট্রিংটি প্রদর্শন করতে পারেন "আপনার আসল কোয়েরির জন্য আপনার অনুসন্ধান কোনো ফলাফলের সাথে মেলেনি। অনুরূপ প্রশ্নের জন্য ফলাফল দেখানো হচ্ছে।"

BLEND ক্ষেত্রে, আপনি স্ট্রিংটি প্রদর্শন করতে পারেন "আপনার আসল প্রশ্নের জন্য আপনার অনুসন্ধান যথেষ্ট ফলাফলের সাথে মেলেনি। অনুরূপ প্রশ্নের ফলাফল সহ।"

মানুষের ফলাফল হ্যান্ডেল

ক্লাউড সার্চ দুই ধরনের "মানুষের ফলাফল" প্রদান করে: একজন ব্যক্তির সাথে সম্পর্কিত নথি যার নাম ক্যোয়ারীতে ব্যবহৃত হয় এবং একজন ব্যক্তির জন্য কর্মচারী তথ্য যার নাম একটি প্রশ্নে ব্যবহৃত হয়। পরবর্তী প্রকারের ফলাফল হল ক্লাউড সার্চের পিপল সার্চ ফিচারের একটি ফাংশন এবং এই ধরনের প্রশ্নের ফলাফল একটি ক্যোয়ারী API প্রতিক্রিয়ার structuredResults ক্ষেত্রে পাওয়া যেতে পারে:

{
  "results": [...],
  "structuredResults": [{
    "person": {...}
  }]
}

সরাসরি রিপোর্ট ম্যাচিং

ডাইরেক্ট রিপোর্ট ম্যাচিং হল একটি ক্লাউড সার্চের পিপল সার্চ বৈশিষ্ট্য যা ব্যবহারকারীদের তাদের প্রতিষ্ঠানের একজন ব্যক্তির সরাসরি রিপোর্ট দেখতে দেয়। ফলাফল structuredResults ক্ষেত্রের মধ্যে উপলব্ধ.

একজন ব্যক্তির ম্যানেজার বা সরাসরি রিপোর্ট সম্পর্কে প্রশ্নের জন্য, প্রতিক্রিয়াটির structuredResults মধ্যে একটি assistCardProtoHolder আছে। assistCardProtoHolder cardType নামে একটি ক্ষেত্র রয়েছে যা RELATED_PEOPLE_ANSWER_CARD এর সমান হবে। assistCardProtoHolder relatedPeopleAnswerCard নামে একটি কার্ড রয়েছে যা প্রকৃত প্রতিক্রিয়া ধারণ করে। এটিতে subject রয়েছে (যে ব্যক্তি কোয়েরিতে অন্তর্ভুক্ত ছিল) এবং relatedPeople যা বিষয়ের সাথে সম্পর্কিত ব্যক্তিদের সেট। relationType ক্ষেত্রটি MANAGER বা DIRECT_REPORTS মান প্রদান করে।

নিম্নোক্ত কোডটি সরাসরি প্রতিবেদনের সাথে মিলে যাওয়া প্রশ্নের জন্য একটি উদাহরণ প্রতিক্রিয়া দেখায়:

{
  "results": [],
  "structuredResults": [{
    "assistCardProtoHolder": {
      "extensions": {
        "@type": "type.googleapis.com/enterprise.topaz.sidekick.AssistCardProto",
        "cardMetadata": {
          "cardCategory": "ANSWER"
        },
        "cardType": "RELATED_PEOPLE_ANSWER_CARD",
        "relatedPeopleAnswerCard": {
          "subject": {
            "email": "AdamStanford@psincs-test01.newjnj.com",
            "displayName": "Adam Stanford"
            "manager": {
              "email": "simonsais@psincs-test01.newjnj.com"
            }
          },
          "relatedPeople": [{
            "email": "EdgarMountainRamirez@psincs-test01.newjnj.com",
            "displayName": "Edgar Mountain Ramirez"
          }, {
            "email": "FranciscoJoseMartinez@psincs-test01.newjnj.com",
            "displayName": "Francisco Jose Martinez"
          }],
          "relationType": "DIRECT_REPORTS",
        }
      }
    }
  }]
}

পরিপূরক ফলাফল সহ অপ্টিমাইজেশন বন্ধ করুন

ডিফল্টরূপে, অপ্টিমাইজেশন, যেমন পরিপূরক ফলাফল, সক্রিয় করা হয়। যাইহোক, আপনি অনুসন্ধান অ্যাপ্লিকেশন এবং ক্যোয়ারী উভয় স্তরেই সমস্ত অপ্টিমাইজেশান বা শুধুমাত্র পরিপূরক ফলাফলগুলি বন্ধ করতে পারেন:

  • পরিপূরক ফলাফল, প্রতিশব্দ এবং বানান সংশোধন সহ অনুসন্ধান অ্যাপ্লিকেশন-স্তরে সমস্ত অপ্টিমাইজেশন বন্ধ করতে true অনুসন্ধান অ্যাপ্লিকেশনগুলিতে QueryInterpretationConfig.force_verbatim_mode সেট করুন।

  • পরিপূরক ফলাফল, প্রতিশব্দ এবং বানান সংশোধন সহ অনুসন্ধান ক্যোয়ারী-স্তরে সমস্ত অপ্টিমাইজেশান বন্ধ করতে, অনুসন্ধান true QueryInterpretationOptions.enableVerbatimMode সেট করুন।

  • অনুসন্ধান অ্যাপ্লিকেশন-স্তরে সম্পূরক ফলাফলগুলি বন্ধ করতে, অনুসন্ধান ক্যোয়ারীতে QueryInterpretationOptions.forceDisableSupplementalResults কে true হিসাবে সেট করুন৷

  • অনুসন্ধান ক্যোয়ারী-স্তরে সম্পূরক ফলাফলগুলি বন্ধ করতে, অনুসন্ধান ক্যোয়ারীতে QueryInterpretationOptions.disableSupplementalResults কে true হিসাবে সেট করুন।

স্নিপেট হাইলাইট করুন

ইনডেক্স করা টেক্সট বা এইচটিএমএল কন্টেন্ট সম্বলিত প্রত্যাবর্তিত আইটেমগুলির জন্য, বিষয়বস্তুর একটি স্নিপেট ফেরত দেওয়া হয়। এই বিষয়বস্তু ব্যবহারকারীদের ফেরত আইটেম প্রাসঙ্গিকতা নির্ধারণ করতে সাহায্য করে.

যদি ক্যোয়ারী শর্তাবলী স্নিপেটে উপস্থিত থাকে, তবে শর্তগুলির অবস্থান চিহ্নিতকারী এক বা একাধিক মিল পরিসীমাও ফেরত দেওয়া হয়।

ফলাফল রেন্ডার করার সময় ম্যাচিং টেক্সট হাইলাইট করতে matchRanges ব্যবহার করুন। নিচের জাভাস্ক্রিপ্ট উদাহরণটি একটি <span> ট্যাগে মোড়ানো প্রতিটি ম্যাচিং রেঞ্জের সাথে স্নিপেটটিকে HTML মার্কআপে রূপান্তরিত করে।

function highlightSnippet(snippet) {
  let text = snippet.snippet;
  let formattedText = text;
  if (snippet.matchRanges) {
    let parts = [];
    let index = 0;
    for (let match of snippet.matchRanges) {
      let start = match.start || 0; // Default to 0 if omitted
      let end = match.end;
      if (index < start) { // Include any leading text before/between ranges
        parts.push(text.slice(index, start));
      }
      parts.push('<span class="highlight">');
      parts.push(text.slice(start, end));
      parts.push('</span>');
      index = end;
    }
    parts.push(text.slice(index)); // Include any trailing text after last range
    formattedText = parts.join('');
  }
  return formattedText;
}

স্নিপেট দেওয়া:

{
  "snippet": "This is an example snippet...",
  "matchRanges": [
    {
      "start": 11,
      "end": 18
    }
  ]
}

ফলস্বরূপ HTML স্ট্রিং হল:

This is an <span class="highlight">example</span> snippet...

মেটাডেটা প্রদর্শন করুন

ব্যবহারকারীদের জন্য প্রাসঙ্গিক হতে পারে এমন ফেরত আইটেম সম্পর্কে অতিরিক্ত তথ্য প্রদর্শন করতে metadata ক্ষেত্রটি ব্যবহার করুন। metadata ফিল্ডে আইটেমের createTime এবং updateTime এবং সেইসাথে আইটেমের সাথে সম্পর্কিত যেকোনও ফেরতযোগ্য স্ট্রাকচার্ড ডেটা অন্তর্ভুক্ত থাকে।

কাঠামোগত ডেটা প্রদর্শন করতে, displayOptions ক্ষেত্রটি ব্যবহার করুন। displayOptions ফিল্ডে অবজেক্টের ধরন এবং metalines একটি সেটের জন্য ডিসপ্লে লেবেল রয়েছে। প্রতিটি মেটালাইন হল ডিসপ্লে লেবেলের একটি অ্যারে এবং স্কিমাতে কনফিগার করা মান জোড়া।

অতিরিক্ত ফলাফল পুনরুদ্ধার করুন

অতিরিক্ত ফলাফল পুনরুদ্ধার করতে, অনুরোধে start ক্ষেত্রটি পছন্দসই অফসেটে সেট করুন। আপনি pageSize ক্ষেত্রের সাথে প্রতিটি পৃষ্ঠার আকার সামঞ্জস্য করতে পারেন।

প্রত্যাবর্তিত আইটেমগুলির সংখ্যা প্রদর্শন করতে বা প্রত্যাবর্তিত আইটেমগুলির মাধ্যমে পেজিং নিয়ন্ত্রণগুলি প্রদর্শন করতে, resultCount ক্ষেত্রটি ব্যবহার করুন। ফলাফল সেটের আকারের উপর নির্ভর করে, হয় প্রকৃত মান বা একটি আনুমানিক মান প্রদান করা হয়।

বাছাই ফলাফল

ফেরত আইটেমগুলির ক্রম নির্দিষ্ট করতে sortOptions ক্ষেত্রটি ব্যবহার করুন। sortOptions মান হল দুটি ক্ষেত্র সহ একটি বস্তু:

  • operatorName — সাজানোর জন্য স্ট্রাকচার্ড ডেটা প্রপার্টির জন্য একটি অপারেটর। একাধিক অপারেটর সহ বৈশিষ্ট্যগুলির জন্য, আপনি শুধুমাত্র প্রধান সমতা অপারেটর ব্যবহার করে সাজাতে পারেন।
  • sortOrder — সাজানোর দিক, হয় ASCENDING বা DESCENDING

প্রাসঙ্গিকতা সেকেন্ডারি বাছাই কী হিসাবেও ব্যবহৃত হয়। যদি কোনো প্রশ্নে কোনো সাজানোর ক্রম নির্দিষ্ট করা না থাকে, ফলাফলগুলি শুধুমাত্র প্রাসঙ্গিকতার ভিত্তিতে র‌্যাঙ্ক করা হয়।

"sortOptions": {
  "operatorName": "priority",
  "sortOrder": "DESCENDING"
}

ফিল্টার যোগ করুন

ক্যোয়ারী এক্সপ্রেশন ছাড়াও, আপনি ফিল্টার প্রয়োগ করে ফলাফল সীমাবদ্ধ করতে পারেন। আপনি অনুসন্ধান অ্যাপ্লিকেশনের পাশাপাশি অনুসন্ধান অনুরোধ উভয় ক্ষেত্রেই ফিল্টার নির্দিষ্ট করতে পারেন।

একটি অনুরোধ বা অনুসন্ধান অ্যাপ্লিকেশনে ফিল্টার যোগ করতে, dataSourceRestrictions.filterOptions[] ক্ষেত্রে ফিল্টার যোগ করুন।

একটি ডেটা উৎস ফিল্টার করার 2টি প্রাথমিক উপায় রয়েছে:

  • অবজেক্ট ফিল্টার, filterOptions[].objectType প্রপার্টির মাধ্যমে — একটি কাস্টম স্কিমাতে সংজ্ঞায়িত নির্দিষ্ট টাইপের সাথে মিলে যাওয়া আইটেমগুলিকে সীমাবদ্ধ করে।
  • মান ফিল্টার - একটি ক্যোয়ারী অপারেটর এবং সরবরাহকৃত মানের উপর ভিত্তি করে ম্যাচিং আইটেমগুলিকে সীমাবদ্ধ করে।

যৌগিক ফিল্টারগুলি আরও জটিল প্রশ্নের জন্য যৌক্তিক অভিব্যক্তিতে একাধিক মান ফিল্টারকে একত্রিত করার অনুমতি দেয়।

মুভি স্কিমার উদাহরণে, আপনি বর্তমান ব্যবহারকারীর উপর ভিত্তি করে একটি বয়সের সীমাবদ্ধতা প্রয়োগ করতে পারেন এবং MPAA রেটিংয়ের উপর ভিত্তি করে উপলব্ধ চলচ্চিত্রগুলিকে সীমাবদ্ধ করতে পারেন।

{
  "query": "adventure",
  "requestOptions": {
    "searchApplicationId": "<search_app_id>"
  },
  "dataSourceRestrictions": [
    {
      "source": {
        "name": "datasources/<data_source_id>"
      },
      "filterOptions": [
        {
          "objectType": "movie",
          "filter": {
            "compositeFilter": {
              "logicOperator": "AND"
              "subFilters": [
                {
                  "compositeFilter": {
                  "logicOperator": "OR"
                  "subFilters": [
                    {
                      "valueFilter": {
                        "operatorName": "rated",
                        "value": {
                          "stringValue": "G"
                        }
                      }
                    },
                    {
                      "valueFilter": {
                        "operatorName": "rated",
                        "value": {
                          "stringValue": "PG"
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    }
  ]
}

দিক দিয়ে ফলাফল পরিমার্জিত করুন

ফ্যাসেটগুলি হল সূচীকৃত বৈশিষ্ট্য যা অনুসন্ধান ফলাফলগুলি পরিমার্জিত করার জন্য বিভাগগুলিকে উপস্থাপন করে৷ ব্যবহারকারীদের ইন্টারেক্টিভভাবে তাদের প্রশ্নগুলি পরিমার্জিত করতে এবং প্রাসঙ্গিক আইটেমগুলি দ্রুত খুঁজে পেতে সাহায্য করার জন্য দিকগুলি ব্যবহার করুন৷

আপনার অনুসন্ধান অ্যাপ্লিকেশনে দিকগুলি সংজ্ঞায়িত করা যেতে পারে। এবং আপনার ক্যোয়ারীতে সেটিংস দ্বারা ওভাররাইড করা হয়েছে।

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

দিকগুলির সাথে সাধারণ মিথস্ক্রিয়া প্যাটার্ন হল:

  1. ফেসেট ফলাফলে কোন বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করতে হবে তা নির্দিষ্ট করে একটি প্রাথমিক প্রশ্ন তৈরি করুন৷
  2. অনুসন্ধান এবং দিক ফলাফল রেন্ডার.
  3. ব্যবহারকারী ফলাফল পরিমার্জিত করার জন্য এক বা একাধিক দিকের মান নির্বাচন করে।
  4. নির্বাচিত মানগুলির উপর ভিত্তি করে একটি ফিল্টার সহ ক্যোয়ারীটি পুনরাবৃত্তি করুন।

উদাহরণ স্বরূপ, বছর এবং MPAA রেটিং অনুসারে মুভি কোয়েরির পরিমার্জন সক্ষম করতে, ক্যোয়ারীতে facetOptions বৈশিষ্ট্য অন্তর্ভুক্ত করুন।

"facetOptions": [
  {
    "sourceName": "datasources/<data_source_id>",
    "operatorName": "year"
  },
  {
    "sourceName": "datasources/<data_source_id>",
    "operatorName": "rated"
  }
]

পূর্ণসংখ্যা-ভিত্তিক ক্ষেত্রগুলির সাথে ফ্যাসেট ফলাফল

আপনি পূর্ণসংখ্যা-ভিত্তিক ক্ষেত্রগুলির সাথে অনুরোধের ফলাফলগুলিও দেখতে পারেন। উদাহরণ স্বরূপ, আপনি "100-200" পৃষ্ঠাগুলির সাথে বই সম্পর্কে অনুসন্ধানের ফলাফলগুলিকে পরিমার্জিত করার জন্য book_pages নামক একটি পূর্ণসংখ্যা বৈশিষ্ট্যকে ফেসটেবল হিসাবে চিহ্নিত করতে পারেন৷

আপনি যখন আপনার পূর্ণসংখ্যা সম্পত্তি ক্ষেত্রের স্কিমা সেট আপ করেন, তখন isFacetable কে true সেট করুন এবং integerPropertyOptions এ সংশ্লিষ্ট বাকেটিং বিকল্পগুলি যোগ করুন। এটি নিশ্চিত করে যে প্রতিটি পূর্ণসংখ্যা-ফেসটেবল সম্পত্তি ডিফল্ট বাকেটিং বিকল্পগুলি সংজ্ঞায়িত করেছে।

বাকেটিং অপশন লজিক সংজ্ঞায়িত করার সময়, পরিসীমা নির্দেশকারী ক্রমবর্ধমান মানগুলির একটি অ্যারে সরবরাহ করুন। উদাহরণস্বরূপ, যদি শেষ ব্যবহারকারী 2, 5, 10, 100 হিসাবে রেঞ্জ নির্দিষ্ট করে, তাহলে <2 , [2-5) , [5-10) , [10-100) , >=100 এর জন্য দিকগুলি গণনা করা হয়।

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

নথির আকার বা তারিখ অনুসারে ফলাফল

আপনি সংরক্ষিত অপারেটর ব্যবহার করতে পারেন অনুসন্ধান ফলাফলগুলিকে নথির ফাইলের আকার দ্বারা পরিমার্জিত করার জন্য, বাইটগুলিতে পরিমাপ করা হয়েছে বা কখন একটি নথি তৈরি করা হয়েছে বা পরিবর্তন করা হয়েছে৷ আপনাকে একটি কাস্টম স্কিমা সংজ্ঞায়িত করতে হবে না, তবে আপনাকে আপনার অনুসন্ধান অ্যাপ্লিকেশনের FacetOptionsoperatorName মানটি নির্দিষ্ট করতে হবে।

  • নথির আকার অনুসারে ফেস করার জন্য, itemsize ব্যবহার করুন এবং বাকেটিং বিকল্পগুলি সংজ্ঞায়িত করুন।
  • নথি তৈরির তারিখ অনুসারে ফেস করার জন্য, createddatetimestamp ব্যবহার করুন।
  • নথির পরিবর্তিত তারিখ অনুসারে ফেস করার জন্য, lastmodified ব্যবহার করুন।

মুখী buckets ব্যাখ্যা

অনুসন্ধান ক্যোয়ারী প্রতিক্রিয়ার facetResults বৈশিষ্ট্য প্রতিটি bucket জন্য filter ক্ষেত্রে ব্যবহারকারীর সঠিক ফিল্টার অনুরোধ অন্তর্ভুক্ত করে।

পূর্ণসংখ্যার উপর ভিত্তি করে নয় এমন দিকগুলির জন্য, facetResults প্রতিটি অনুরোধ করা সম্পত্তির জন্য একটি এন্ট্রি অন্তর্ভুক্ত করে। প্রতিটি সম্পত্তির জন্য, মান বা ব্যাপ্তির একটি তালিকা, যাকে বলা হয় buckets , প্রদান করা হয়। সর্বাধিক ঘন ঘন ঘটতে থাকা মানগুলি প্রথমে উপস্থিত হয়৷

যখন একজন ব্যবহারকারী ফিল্টার করার জন্য এক বা একাধিক মান নির্বাচন করেন, তখন নির্বাচিত ফিল্টারগুলির সাথে একটি নতুন ক্যোয়ারী তৈরি করুন এবং API-কে আবার জিজ্ঞাসা করুন৷

পরামর্শ যোগ করুন

ব্যবহারকারীর ব্যক্তিগত ক্যোয়ারী ইতিহাসের পাশাপাশি পরিচিতি এবং তাদের নথিপত্রের উপর ভিত্তি করে কোয়েরির জন্য স্বয়ংক্রিয়-সম্পূর্ণতা প্রদান করতে পরামর্শ API ব্যবহার করুন।

উদাহরণস্বরূপ, নিম্নলিখিত কলটি আংশিক বাক্যাংশ jo এর জন্য পরামর্শ দেয়।

{
  "query": "jo",
  "requestOptions": {
    "searchApplicationId": "<search_app_id>",
    "peoplePhotoOptions": {
      "peoplePhotoUrlSizeInPx": 32
    },
    "timeZone": "America/Denver"
  }
}

তারপরে আপনি আপনার অ্যাপ্লিকেশনের জন্য উপযুক্ত হিসাবে ফলাফলের পরামর্শগুলি প্রদর্শন করতে পারেন।