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

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

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

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

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

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

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

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

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

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

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

গুগল ক্লাউড সার্চ এপিআই-তে অ্যাক্সেস কনফিগার করার ধাপগুলি ছাড়াও, আপনাকে ওয়েব অ্যাপ্লিকেশনের জন্য 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",
        }
      }
    }
  }]
}

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

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

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

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

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

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

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

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

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

ফলাফল রেন্ডার করার সময় মিলিত টেক্সট হাইলাইট করতে 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[] ক্ষেত্রে ফিল্টারটি যোগ করুন।

ডেটা উৎসকে আরও ফিল্টার করার দুটি প্রাথমিক উপায় রয়েছে:

  • 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"
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      ]
    }
  ]
}

দিকগুলি ব্যবহার করে ফলাফল পরিমার্জন করুন

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

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

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

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

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

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

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

পূর্ণসংখ্যা-ভিত্তিক ক্ষেত্র সহ পার্শ্ব ফলাফল

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

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

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

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

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

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

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

ফ্যাসেট বাকেট ব্যাখ্যা করা

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

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

যখন একজন ব্যবহারকারী ফিল্টার করার জন্য এক বা একাধিক মান নির্বাচন করেন, তখন নির্বাচিত ফিল্টারগুলি দিয়ে একটি নতুন কোয়েরি তৈরি করুন এবং API পুনরায় কোয়েরি করুন।

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

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

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

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

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