The search widget provides a customizable search interface for web applications. It requires minimal HTML and JavaScript to implement and supports common features like facets and pagination. You can also customize the interface with CSS and JavaScript.
যদি আপনার আরও নমনীয়তার প্রয়োজন হয়, তাহলে কোয়েরি এপিআই (Query API) ব্যবহার করুন। কোয়েরি এপিআই (Query API) ব্যবহার করে একটি সার্চ ইন্টারফেস তৈরি করা দেখুন।
একটি অনুসন্ধান ইন্টারফেস তৈরি করুন
সার্চ ইন্টারফেস তৈরি করার জন্য এই ধাপগুলো অনুসরণ করতে হবে:
- একটি সার্চ অ্যাপ্লিকেশন কনফিগার করুন।
- অ্যাপ্লিকেশনটির জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন।
- সার্চ বক্স এবং ফলাফলের জন্য HTML মার্কআপ যোগ করুন।
- পৃষ্ঠায় উইজেটটি লোড করুন।
- উইজেটটি প্রারম্ভিক করুন।
একটি অনুসন্ধান অ্যাপ্লিকেশন কনফিগার করুন
প্রতিটি সার্চ ইন্টারফেসের জন্য অ্যাডমিন কনসোলে একটি সার্চ অ্যাপ্লিকেশন সংজ্ঞায়িত করা প্রয়োজন। অ্যাপ্লিকেশনটি কোয়েরি সেটিংস প্রদান করে, যেমন ডেটা সোর্স, ফ্যাসেট এবং সার্চ কোয়ালিটি প্যারামিটার।
একটি সার্চ অ্যাপ্লিকেশন তৈরি করতে, ‘একটি কাস্টম সার্চ অভিজ্ঞতা তৈরি করুন’ দেখুন।
অ্যাপ্লিকেশনটির জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন।
ক্লাউড সার্চ এপিআই-তে অ্যাক্সেস কনফিগার করার ধাপগুলোর পাশাপাশি, আপনার ওয়েব অ্যাপ্লিকেশনের জন্য একটি ক্লায়েন্ট আইডি তৈরি করুন।
প্রকল্পটি কনফিগার করার সময়:
- ওয়েব ব্রাউজার ক্লায়েন্টের ধরন নির্বাচন করুন।
- আপনার অ্যাপের অরিজিন ইউআরআই প্রদান করুন।
- ক্লায়েন্ট আইডিটি নোট করুন। উইজেটটির জন্য কোনো ক্লায়েন্ট সিক্রেটের প্রয়োজন নেই।
আরও তথ্যের জন্য, ক্লায়েন্ট-সাইড ওয়েব অ্যাপ্লিকেশনের জন্য OAuth 2.0 দেখুন।
এইচটিএমএল মার্কআপ যোগ করুন
উইজেটটির জন্য এই HTML উপাদানগুলো প্রয়োজন:
- সার্চ বক্সের জন্য একটি
inputএলিমেন্ট। - সাজেশন ডায়ালগটিকে স্থির রাখার জন্য একটি এলিমেন্ট।
- অনুসন্ধানের ফলাফলের জন্য একটি উপাদান।
- (ঐচ্ছিক) ফেসেট নিয়ন্ত্রণের জন্য একটি উপাদান।
এই কোড স্নিপেটটি তাদের id অ্যাট্রিবিউট দ্বারা চিহ্নিত এলিমেন্টগুলো দেখায়:
উইজেটটি লোড করুন
<script> ট্যাগ ব্যবহার করে লোডারটি অন্তর্ভুক্ত করুন:
একটি onload কলব্যাক প্রদান করুন। লোডার প্রস্তুত হলে, এপিআই ক্লায়েন্ট, গুগল সাইন-ইন এবং ক্লাউড সার্চ মডিউলগুলো লোড করার জন্য gapi.load() কল করুন।
উইজেটটি প্রারম্ভিক করুন
আপনার ক্লায়েন্ট আইডি এবং https://www.googleapis.com/auth/cloud_search.query স্কোপ ব্যবহার করে gapi.client.init() অথবা gapi.auth2.init() এর মাধ্যমে ক্লায়েন্ট লাইব্রেরিটি ইনিশিয়ালাইজ করুন। উইজেটটি কনফিগার এবং বাইন্ড করতে বিল্ডার ক্লাসগুলো ব্যবহার করুন।
প্রারম্ভিকীকরণের উদাহরণ:
কনফিগারেশন ভেরিয়েবল:
সাইন-ইন অভিজ্ঞতা কাস্টমাইজ করুন
ব্যবহারকারীরা টাইপ করা শুরু করলে উইজেটটি তাদের সাইন ইন করতে বলে। আপনার প্রয়োজন অনুযায়ী অভিজ্ঞতা পেতে আপনি ওয়েবসাইটের জন্য গুগল সাইন-ইন ব্যবহার করতে পারেন।
ব্যবহারকারীদের সরাসরি অনুমোদন দিন
সাইন-ইন অবস্থা নিরীক্ষণ ও পরিচালনা করতে 'সাইন ইন উইথ গুগল' ব্যবহার করুন। এই উদাহরণে একটি বাটন ক্লিকে 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 প্রয়োগ করে সার্চ রেসপন্সটি ইন্টারসেপ্ট করতে পারেন।
পিন সংস্করণ
- এপিআই সংস্করণ : শুরু করার আগে
cloudsearch.config/apiVersionসেট করুন। - উইজেট সংস্করণ :
gapi.config.update('cloudsearch.config/clientVersion', 1.1)ব্যবহার করুন।
সেট না করা থাকলে উভয়েরই ডিফল্ট মান ১.০ হয়।
উদাহরণস্বরূপ, উইজেটটিকে সংস্করণ ১.১-এ পিন করতে:
অনুসন্ধান ইন্টারফেস সুরক্ষিত করুন
ওয়েব অ্যাপ্লিকেশনের জন্য নিরাপত্তার সর্বোত্তম অনুশীলনগুলো অনুসরণ করুন, বিশেষ করে ক্লিকজ্যাকিং প্রতিরোধ করতে।
ডিবাগিং সক্ষম করুন
ডিবাগিং সক্ষম করতে interceptSearchRequest ব্যবহার করুন:
if (!request.requestOptions) {
request.requestOptions = {};
}
request.requestOptions.debugOptions = {enableDebugging: true};
return request;