অনুসন্ধান উইজেটটি ওয়েব অ্যাপ্লিকেশনগুলির জন্য একটি কাস্টমাইজযোগ্য অনুসন্ধান ইন্টারফেস প্রদান করে। এটি বাস্তবায়নের জন্য ন্যূনতম HTML এবং জাভাস্ক্রিপ্ট প্রয়োজন এবং এটি ফ্যাসেট এবং পৃষ্ঠাঙ্কনের মতো সাধারণ বৈশিষ্ট্যগুলিকে সমর্থন করে। আপনি CSS এবং জাভাস্ক্রিপ্ট দিয়েও ইন্টারফেসটি কাস্টমাইজ করতে পারেন।
যদি আপনার আরও নমনীয়তার প্রয়োজন হয়, তাহলে Query API ব্যবহার করুন। Query API দিয়ে একটি অনুসন্ধান ইন্টারফেস তৈরি করা দেখুন।
একটি অনুসন্ধান ইন্টারফেস তৈরি করুন
অনুসন্ধান ইন্টারফেস তৈরি করতে এই পদক্ষেপগুলি প্রয়োজন:
- একটি অনুসন্ধান অ্যাপ্লিকেশন কনফিগার করুন।
- অ্যাপ্লিকেশনটির জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন।
- অনুসন্ধান বাক্স এবং ফলাফলের জন্য HTML মার্কআপ যোগ করুন।
- পৃষ্ঠায় উইজেটটি লোড করুন।
- উইজেটটি আরম্ভ করুন।
একটি অনুসন্ধান অ্যাপ্লিকেশন কনফিগার করুন
প্রতিটি অনুসন্ধান ইন্টারফেসের জন্য অ্যাডমিন কনসোলে সংজ্ঞায়িত একটি অনুসন্ধান অ্যাপ্লিকেশন প্রয়োজন। অ্যাপ্লিকেশনটি কোয়েরি সেটিংস প্রদান করে, যেমন ডেটা সোর্স, দিক এবং অনুসন্ধানের মানের পরামিতি।
একটি অনুসন্ধান অ্যাপ্লিকেশন তৈরি করতে, একটি কাস্টম অনুসন্ধান অভিজ্ঞতা তৈরি করুন দেখুন।
অ্যাপ্লিকেশনটির জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন
ক্লাউড সার্চ এপিআই-তে অ্যাক্সেস কনফিগার করার ধাপগুলি ছাড়াও, আপনার ওয়েব অ্যাপ্লিকেশনের জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন।
প্রকল্পটি কনফিগার করার সময়:
- ওয়েব ব্রাউজার ক্লায়েন্টের ধরণ নির্বাচন করুন।
- আপনার অ্যাপের মূল URI প্রদান করুন।
- ক্লায়েন্ট আইডিটি লক্ষ্য করুন। উইজেটের জন্য ক্লায়েন্ট সিক্রেটের প্রয়োজন হয় না।
আরও তথ্যের জন্য, ক্লায়েন্ট-সাইড ওয়েব অ্যাপ্লিকেশনের জন্য OAuth 2.0 দেখুন।
HTML মার্কআপ যোগ করুন
উইজেটের জন্য এই HTML উপাদানগুলির প্রয়োজন:
- অনুসন্ধান বাক্সের জন্য একটি
inputউপাদান। - পরামর্শ ডায়ালগটি টেকসই করার জন্য একটি উপাদান।
- অনুসন্ধান ফলাফলের জন্য একটি উপাদান।
- (ঐচ্ছিক) ফ্যাসেট নিয়ন্ত্রণের জন্য একটি উপাদান।
এই স্নিপেটটি তাদের id বৈশিষ্ট্য দ্বারা চিহ্নিত উপাদানগুলি দেখায়:
উইজেটটি লোড করুন
<script> ট্যাগ ব্যবহার করে লোডারটি অন্তর্ভুক্ত করুন:
একটি onload কলব্যাক প্রদান করুন। লোডার প্রস্তুত হলে, API ক্লায়েন্ট, Google সাইন-ইন এবং ক্লাউড অনুসন্ধান মডিউল লোড করতে gapi.load() এ কল করুন।
উইজেটটি আরম্ভ করুন
আপনার ক্লায়েন্ট আইডি এবং https://www.googleapis.com/auth/cloud_search.query স্কোপ দিয়ে gapi.client.init() অথবা gapi.auth2.init() ব্যবহার করে ক্লায়েন্ট লাইব্রেরিটি শুরু করুন। উইজেটটি কনফিগার এবং বাইন্ড করতে বিল্ডার ক্লাসগুলি ব্যবহার করুন।
উদাহরণ আরম্ভ:
কনফিগারেশন ভেরিয়েবল:
সাইন-ইন অভিজ্ঞতা কাস্টমাইজ করুন
ব্যবহারকারীরা টাইপ করা শুরু করলে উইজেটটি সাইন ইন করতে অনুরোধ করে। একটি উপযুক্ত অভিজ্ঞতার জন্য আপনি ওয়েবসাইটের জন্য গুগল সাইন-ইন ব্যবহার করতে পারেন।
ব্যবহারকারীদের সরাসরি অনুমোদন দিন
সাইন-ইন অবস্থা পর্যবেক্ষণ এবং পরিচালনা করতে Sign In With Google ব্যবহার করুন। এই উদাহরণে একটি বোতাম ক্লিক করলে GoogleAuth.signIn() ব্যবহার করা হয়:
ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে সাইন ইন করুন
আপনার প্রতিষ্ঠানের ব্যবহারকারীদের সাইন-ইন সহজতর করার জন্য অ্যাপ্লিকেশনটিকে প্রাক-অনুমোদিত করুন। এটি ক্লাউড আইডেন্টিটি অ্যাওয়্যার প্রক্সির ক্ষেত্রেও কার্যকর। আইটি অ্যাপস দিয়ে গুগল সাইন-ইন ব্যবহার করুন দেখুন।
ইন্টারফেসটি কাস্টমাইজ করুন
আপনি উইজেটের চেহারা পরিবর্তন করতে পারেন:
- CSS এর মাধ্যমে স্টাইলগুলিকে ওভাররাইড করা।
- অ্যাডাপ্টার দিয়ে উপাদান সাজানো।
- একটি অ্যাডাপ্টার দিয়ে কাস্টম উপাদান তৈরি করা।
CSS দিয়ে স্টাইল ওভাররাইড করুন
উইজেটটিতে নিজস্ব CSS রয়েছে। এটিকে ওভাররাইড করতে, নির্দিষ্টতা বাড়াতে পূর্বপুরুষ নির্বাচক ব্যবহার করুন:
#suggestions_anchor .cloudsearch_suggestion_container {
font-size: 14px;
}
সমর্থিত CSS ক্লাসের রেফারেন্স দেখুন।
অ্যাডাপ্টার দিয়ে উপাদানগুলি সাজান
রেন্ডার করার আগে উপাদানগুলি পরিবর্তন করার জন্য একটি অ্যাডাপ্টার তৈরি এবং নিবন্ধন করুন। এই উদাহরণে একটি কাস্টম CSS ক্লাস যোগ করা হয়েছে:
আরম্ভের সময় অ্যাডাপ্টারটি নিবন্ধন করুন:
একটি অ্যাডাপ্টার দিয়ে কাস্টম উপাদান তৈরি করুন
কাস্টম UI কম্পোনেন্ট তৈরি করতে createSuggestionElement , createFacetResultElement , অথবা createSearchResultElement প্রয়োগ করুন। এই উদাহরণে HTML <template> ট্যাগ ব্যবহার করা হয়েছে:
অ্যাডাপ্টারটি নিবন্ধন করুন:
কাস্টম ফ্যাসেট এলিমেন্টগুলিকে অবশ্যই এই নিয়মগুলি অনুসরণ করতে হবে:
- ক্লিকযোগ্য উপাদানের সাথে
cloudsearch_facet_bucket_clickableসংযুক্ত করুন। - প্রতিটি বালতি একটি
cloudsearch_facet_bucket_containerএ মুড়িয়ে দিন। - প্রতিক্রিয়া থেকে বাকেট অর্ডার বজায় রাখুন।
উদাহরণস্বরূপ, নিম্নলিখিত স্নিপেটটি চেক বাক্সের পরিবর্তে লিঙ্ক ব্যবহার করে দিকগুলি রেন্ডার করে।
অনুসন্ধান আচরণ কাস্টমাইজ করুন
অ্যাডাপ্টারের সাহায্যে অনুরোধগুলিকে আটকে রেখে অনুসন্ধান অ্যাপ্লিকেশন সেটিংস ওভাররাইড করুন। কার্যকর করার আগে অনুরোধগুলি সংশোধন করতে interceptSearchRequest বাস্তবায়ন করুন। এই উদাহরণটি একটি নির্বাচিত উৎসের মধ্যে প্রশ্নগুলিকে সীমাবদ্ধ করে:
অ্যাডাপ্টারটি নিবন্ধন করুন:
উৎস অনুসারে ফিল্টার করার জন্য একটি নির্বাচন বাক্স প্রদর্শন করতে নিম্নলিখিত HTML ব্যবহার করা হয়:
নিম্নলিখিত কোডটি পরিবর্তনটি শোনে, নির্বাচন সেট করে এবং প্রয়োজনে কোয়েরিটি পুনরায় কার্যকর করে।
আপনি অ্যাডাপ্টারে interceptSearchResponse প্রয়োগ করে অনুসন্ধান প্রতিক্রিয়াটিও আটকাতে পারেন।
পিন ভার্সন
- API সংস্করণ : শুরু করার আগে
cloudsearch.config/apiVersionসেট করুন। - উইজেট সংস্করণ :
gapi.config.update('cloudsearch.config/clientVersion', 1.1)ব্যবহার করুন।
সেট না করা থাকলে উভয়ই ডিফল্ট 1.0।
উদাহরণস্বরূপ, উইজেটটিকে ১.১ সংস্করণে পিন করতে:
অনুসন্ধান ইন্টারফেসটি সুরক্ষিত করুন
ওয়েব অ্যাপ্লিকেশনের জন্য নিরাপত্তার সর্বোত্তম অনুশীলনগুলি অনুসরণ করুন, বিশেষ করে ক্লিকজ্যাকিং প্রতিরোধ করার জন্য।
ডিবাগিং সক্ষম করুন
ডিবাগিং সক্ষম করতে interceptSearchRequest ব্যবহার করুন:
if (!request.requestOptions) {
request.requestOptions = {};
}
request.requestOptions.debugOptions = {enableDebugging: true};
return request;
অনুসন্ধান উইজেটটি ওয়েব অ্যাপ্লিকেশনগুলির জন্য একটি কাস্টমাইজযোগ্য অনুসন্ধান ইন্টারফেস প্রদান করে। এটি বাস্তবায়নের জন্য ন্যূনতম HTML এবং জাভাস্ক্রিপ্ট প্রয়োজন এবং এটি ফ্যাসেট এবং পৃষ্ঠাঙ্কনের মতো সাধারণ বৈশিষ্ট্যগুলিকে সমর্থন করে। আপনি CSS এবং জাভাস্ক্রিপ্ট দিয়েও ইন্টারফেসটি কাস্টমাইজ করতে পারেন।
যদি আপনার আরও নমনীয়তার প্রয়োজন হয়, তাহলে Query API ব্যবহার করুন। Query API দিয়ে একটি অনুসন্ধান ইন্টারফেস তৈরি করা দেখুন।
একটি অনুসন্ধান ইন্টারফেস তৈরি করুন
অনুসন্ধান ইন্টারফেস তৈরি করতে এই পদক্ষেপগুলি প্রয়োজন:
- একটি অনুসন্ধান অ্যাপ্লিকেশন কনফিগার করুন।
- অ্যাপ্লিকেশনটির জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন।
- অনুসন্ধান বাক্স এবং ফলাফলের জন্য HTML মার্কআপ যোগ করুন।
- পৃষ্ঠায় উইজেটটি লোড করুন।
- উইজেটটি আরম্ভ করুন।
একটি অনুসন্ধান অ্যাপ্লিকেশন কনফিগার করুন
প্রতিটি অনুসন্ধান ইন্টারফেসের জন্য অ্যাডমিন কনসোলে সংজ্ঞায়িত একটি অনুসন্ধান অ্যাপ্লিকেশন প্রয়োজন। অ্যাপ্লিকেশনটি কোয়েরি সেটিংস প্রদান করে, যেমন ডেটা সোর্স, দিক এবং অনুসন্ধানের মানের পরামিতি।
একটি অনুসন্ধান অ্যাপ্লিকেশন তৈরি করতে, একটি কাস্টম অনুসন্ধান অভিজ্ঞতা তৈরি করুন দেখুন।
অ্যাপ্লিকেশনটির জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন
ক্লাউড সার্চ এপিআই-তে অ্যাক্সেস কনফিগার করার ধাপগুলি ছাড়াও, আপনার ওয়েব অ্যাপ্লিকেশনের জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন।
প্রকল্পটি কনফিগার করার সময়:
- ওয়েব ব্রাউজার ক্লায়েন্টের ধরণ নির্বাচন করুন।
- আপনার অ্যাপের মূল URI প্রদান করুন।
- ক্লায়েন্ট আইডিটি লক্ষ্য করুন। উইজেটের জন্য ক্লায়েন্ট সিক্রেটের প্রয়োজন হয় না।
আরও তথ্যের জন্য, ক্লায়েন্ট-সাইড ওয়েব অ্যাপ্লিকেশনের জন্য OAuth 2.0 দেখুন।
HTML মার্কআপ যোগ করুন
উইজেটের জন্য এই HTML উপাদানগুলির প্রয়োজন:
- অনুসন্ধান বাক্সের জন্য একটি
inputউপাদান। - পরামর্শ ডায়ালগটি টেকসই করার জন্য একটি উপাদান।
- অনুসন্ধান ফলাফলের জন্য একটি উপাদান।
- (ঐচ্ছিক) ফ্যাসেট নিয়ন্ত্রণের জন্য একটি উপাদান।
এই স্নিপেটটি তাদের id বৈশিষ্ট্য দ্বারা চিহ্নিত উপাদানগুলি দেখায়:
উইজেটটি লোড করুন
<script> ট্যাগ ব্যবহার করে লোডারটি অন্তর্ভুক্ত করুন:
একটি onload কলব্যাক প্রদান করুন। লোডার প্রস্তুত হলে, API ক্লায়েন্ট, Google সাইন-ইন এবং ক্লাউড অনুসন্ধান মডিউল লোড করতে gapi.load() এ কল করুন।
উইজেটটি আরম্ভ করুন
আপনার ক্লায়েন্ট আইডি এবং https://www.googleapis.com/auth/cloud_search.query স্কোপ দিয়ে gapi.client.init() অথবা gapi.auth2.init() ব্যবহার করে ক্লায়েন্ট লাইব্রেরিটি শুরু করুন। উইজেটটি কনফিগার এবং বাইন্ড করতে বিল্ডার ক্লাসগুলি ব্যবহার করুন।
উদাহরণ আরম্ভ:
কনফিগারেশন ভেরিয়েবল:
সাইন-ইন অভিজ্ঞতা কাস্টমাইজ করুন
ব্যবহারকারীরা টাইপ করা শুরু করলে উইজেটটি সাইন ইন করতে অনুরোধ করে। একটি উপযুক্ত অভিজ্ঞতার জন্য আপনি ওয়েবসাইটের জন্য গুগল সাইন-ইন ব্যবহার করতে পারেন।
ব্যবহারকারীদের সরাসরি অনুমোদন দিন
সাইন-ইন অবস্থা পর্যবেক্ষণ এবং পরিচালনা করতে Sign In With Google ব্যবহার করুন। এই উদাহরণে একটি বোতাম ক্লিক করলে GoogleAuth.signIn() ব্যবহার করা হয়:
ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে সাইন ইন করুন
আপনার প্রতিষ্ঠানের ব্যবহারকারীদের সাইন-ইন সহজতর করার জন্য অ্যাপ্লিকেশনটিকে প্রাক-অনুমোদিত করুন। এটি ক্লাউড আইডেন্টিটি অ্যাওয়্যার প্রক্সির ক্ষেত্রেও কার্যকর। আইটি অ্যাপস দিয়ে গুগল সাইন-ইন ব্যবহার করুন দেখুন।
ইন্টারফেসটি কাস্টমাইজ করুন
আপনি উইজেটের চেহারা পরিবর্তন করতে পারেন:
- CSS এর মাধ্যমে স্টাইলগুলিকে ওভাররাইড করা।
- অ্যাডাপ্টার দিয়ে উপাদান সাজানো।
- একটি অ্যাডাপ্টার দিয়ে কাস্টম উপাদান তৈরি করা।
CSS দিয়ে স্টাইল ওভাররাইড করুন
উইজেটটিতে নিজস্ব CSS রয়েছে। এটিকে ওভাররাইড করতে, নির্দিষ্টতা বাড়াতে পূর্বপুরুষ নির্বাচক ব্যবহার করুন:
#suggestions_anchor .cloudsearch_suggestion_container {
font-size: 14px;
}
সমর্থিত CSS ক্লাসের রেফারেন্স দেখুন।
অ্যাডাপ্টার দিয়ে উপাদানগুলি সাজান
রেন্ডার করার আগে উপাদানগুলি পরিবর্তন করার জন্য একটি অ্যাডাপ্টার তৈরি এবং নিবন্ধন করুন। এই উদাহরণে একটি কাস্টম CSS ক্লাস যোগ করা হয়েছে:
আরম্ভের সময় অ্যাডাপ্টারটি নিবন্ধন করুন:
একটি অ্যাডাপ্টার দিয়ে কাস্টম উপাদান তৈরি করুন
কাস্টম UI কম্পোনেন্ট তৈরি করতে createSuggestionElement , createFacetResultElement , অথবা createSearchResultElement প্রয়োগ করুন। এই উদাহরণে HTML <template> ট্যাগ ব্যবহার করা হয়েছে:
অ্যাডাপ্টারটি নিবন্ধন করুন:
কাস্টম ফ্যাসেট এলিমেন্টগুলিকে অবশ্যই এই নিয়মগুলি অনুসরণ করতে হবে:
- ক্লিকযোগ্য উপাদানের সাথে
cloudsearch_facet_bucket_clickableসংযুক্ত করুন। - প্রতিটি বালতি একটি
cloudsearch_facet_bucket_containerএ মুড়িয়ে দিন। - প্রতিক্রিয়া থেকে বাকেট অর্ডার বজায় রাখুন।
উদাহরণস্বরূপ, নিম্নলিখিত স্নিপেটটি চেক বাক্সের পরিবর্তে লিঙ্ক ব্যবহার করে দিকগুলি রেন্ডার করে।
অনুসন্ধান আচরণ কাস্টমাইজ করুন
অ্যাডাপ্টারের সাহায্যে অনুরোধগুলিকে আটকে রেখে অনুসন্ধান অ্যাপ্লিকেশন সেটিংস ওভাররাইড করুন। কার্যকর করার আগে অনুরোধগুলি সংশোধন করতে interceptSearchRequest বাস্তবায়ন করুন। এই উদাহরণটি একটি নির্বাচিত উৎসের মধ্যে প্রশ্নগুলিকে সীমাবদ্ধ করে:
অ্যাডাপ্টারটি নিবন্ধন করুন:
উৎস অনুসারে ফিল্টার করার জন্য একটি নির্বাচন বাক্স প্রদর্শন করতে নিম্নলিখিত HTML ব্যবহার করা হয়:
নিম্নলিখিত কোডটি পরিবর্তনটি শোনে, নির্বাচন সেট করে এবং প্রয়োজনে কোয়েরিটি পুনরায় কার্যকর করে।
আপনি অ্যাডাপ্টারে interceptSearchResponse প্রয়োগ করে অনুসন্ধান প্রতিক্রিয়াটিও আটকাতে পারেন।
পিন ভার্সন
- API সংস্করণ : শুরু করার আগে
cloudsearch.config/apiVersionসেট করুন। - উইজেট সংস্করণ :
gapi.config.update('cloudsearch.config/clientVersion', 1.1)ব্যবহার করুন।
সেট না করা থাকলে উভয়ই ডিফল্ট 1.0।
উদাহরণস্বরূপ, উইজেটটিকে ১.১ সংস্করণে পিন করতে:
অনুসন্ধান ইন্টারফেসটি সুরক্ষিত করুন
ওয়েব অ্যাপ্লিকেশনের জন্য নিরাপত্তার সর্বোত্তম অনুশীলনগুলি অনুসরণ করুন, বিশেষ করে ক্লিকজ্যাকিং প্রতিরোধ করার জন্য।
ডিবাগিং সক্ষম করুন
ডিবাগিং সক্ষম করতে interceptSearchRequest ব্যবহার করুন:
if (!request.requestOptions) {
request.requestOptions = {};
}
request.requestOptions.debugOptions = {enableDebugging: true};
return request;