গুগল অনুসন্ধান এপিআই (রুবি সহ) দিয়ে কীভাবে কাস্টম অনুসন্ধান ইঞ্জিন তৈরি করবেন

গুগল আজকাল প্রায় প্রত্যেকের জন্যই যেতে যেতে ডিফল্ট অনুসন্ধান ইঞ্জিন (দুঃখিত বিং!)) কেবল তা-ই নয়, তাদের পরিষেবা অফারটি ইমেল থেকে শুরু করে ওয়েব হোস্টিং, এআই পরিষেবা, মানচিত্র সহ আরও অনেক কিছুর মধ্যে রয়েছে।

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

গুগল অনুসন্ধান এপিআই-এ সংযোগ করুন

একটু পরিচয়

ধারণাটি হ'ল আমরা গুগলের এপিআই ব্যবহার করে আমাদের ওয়েবসাইটের জন্য একটি "ইন-সাইট" অনুসন্ধান বাক্স তৈরি করতে পারি (এখানে আইএমডিবি দিয়ে এটি কীভাবে করবেন তা শিখুন)। এটি করার জন্য, আমরা আমাদের ব্যবহারকারীদের জন্য একটি অনুসন্ধান ফর্ম সরবরাহ করব এবং পটভূমিতে আমরা আমাদের অনুসন্ধানকে পরিমার্জন করার জন্য একটি সংশোধককে (বা সংযোজন, সত্যিকার অর্থে কোনও ব্যাপার নয়) করব। সুতরাং, উদাহরণস্বরূপ, যদি আমাদের ব্যবহারকারীরা আমাদের সন্ধানের ক্ষেত্র / ঠিকানা বারে একটি "সাদা টি-শার্ট" অনুসন্ধান শব্দটি প্রবেশ করেন, আমরা "সাইট: ourwebsite.com হোয়াইট টি-শার্ট" (ওরফে সাইট অনুসন্ধান) এর জন্য গুগলের এপিআই জিজ্ঞাসা করব। এটি গুগলকে আমাদের ওয়েবেসাইট ডট কমের জন্য ফলাফল নির্বাচন করতে বলে। আপনি এখনই এটি ব্যবহার করে দেখতে পারেন আপনি গুগলে যান এবং “সাইট: quickapi.com রুবি” অনুসন্ধান করলে আপনি র‌্যাপিডিএপিআইয়ের ওয়েবসাইট এবং ব্লগের জন্য সুনির্দিষ্ট ফলাফল পাবেন।

আপনি অন্যদের মধ্যে দাম (এবং দামের সীমা) সহ সামাজিক প্রতিদিনের অনুসন্ধানগুলিতে ব্যবহার করতে পারেন এমন অন্যান্য সংশোধক রয়েছে। আপনি এখানে সব ধরণের অনুসন্ধানের জন্য খুঁজে পেতে পারেন।

গুগল অনুসন্ধান এপিআই-এ সংযোগ করুন

আমরা কি নির্মাণ করব

যেমনটি আমরা আগে উল্লেখ করেছি, আমরা আমাদের ওয়েবসাইটের জন্য একটি কাস্টম অনুসন্ধানের অভিজ্ঞতা তৈরি করতে যাচ্ছি। কেবলমাত্র এই নিবন্ধটির জন্য আমরা একটি সম্পূর্ণ ওয়েবসাইট তৈরি করতে পারি না (এবং এটি গুগল দ্বারা সূচিত হওয়ার জন্য অপেক্ষা করুন), আমরা রাপিডাপির জন্য একটি কাস্টম অনুসন্ধান সাইট তৈরি করব। আপনি এটি সর্বদা আপনার নিজের সাইট দিয়ে প্রতিস্থাপন করতে পারেন, ধরেই নেওয়া হয় এটি ইতিমধ্যে অনুসন্ধান জায়ান্ট দ্বারা সূচিত হয়েছে। এটি একটি গুরুত্বপূর্ণ সাবধানবাণী: আপনি সত্যিকার অর্থে এটি অভ্যন্তরীণ ওয়েবসাইটগুলির জন্য (কোনও ইন্ট্রানেটের মতো) ব্যবহার করতে পারবেন না বা এটি স্থানীয়ভাবে উন্নয়নের জন্য ব্যবহার করতে পারবেন না কারণ গুগলের এই সাইটগুলিকে সূচীতে অ্যাক্সেস থাকবে না।

চল শুরু করি

শুরু করতে আপনার কয়েকটি জিনিস প্রয়োজন হবে। রুবির কিছু জ্ঞান বাঞ্ছনীয় হবে। আসুন র‌্যাপিডাপিআই-এ সাইন আপ করে এবং গুগল এপিআই-তে সাবস্ক্রাইব করে শুরু করি। এটি করতে, quickapi.com এ যান এবং সাইন-আপ বোতামে ক্লিক করুন। এরপরে, আমরা আজ যে গুগল এপিআই ব্যবহার করব সেটিতে যান, উপরের "প্রাইসিং" ট্যাবে ক্লিক করুন এবং বেসিক প্ল্যানটি নির্বাচন করুন, যা এই টিউটোরিয়ালের জন্য যথেষ্ট পরিমাণে বেশি। আপনার একটি ক্রেডিট কার্ড প্রয়োজন, তবে কোনও অবস্থাতেই আপনাকে এই পরিকল্পনার জন্য অর্থ প্রদানের প্রয়োজন হবে না।

এরপরে, রুবি ডাউনলোড এবং ইনস্টল করুন। সর্বশেষতম সংস্করণটি যথেষ্ট হবে, তবে আমরা যেহেতু খুব বেশি উন্নত কিছু করছি না, একটি পুরানো সংস্করণও তা করবে। আপনার প্ল্যাটফর্মের জন্য তাদের সরকারী ইনস্টলেশন নির্দেশাবলী দেখুন Check আমরা এখন সব প্রস্তুত!

আমাদের কাজের পরিবেশ সেটআপ করুন

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

# রত্নের উত্স 'https://rubygems.org' রত্ন 'এক্সকন' রত্ন 'সিনাত্রা'

এর পরে, আমাদের উভয় নির্ভরতা ইনস্টল করতে আপনার টার্মিনালে বান্ডিল ইনস্টল চালান। আমাদের ওয়েব সার্ভার তৈরি করতে আমাদের সিনেট্রা এবং আমাদের এপিআই থেকে ফলাফল আনতে এক্সকন দরকার হবে। এই সম্পর্কে আরও পরে।

App.rb নামে একটি নতুন ফাইল তৈরি করুন এবং এটিতে এটি যুক্ত করুন:

# app.rb 'সিনেট্রা'র প্রয়োজন' এক্সকন 'প্রয়োজন' জেসন 'পেতে' / 'ডু আরবি: সূচকের সমাপ্তি

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

ওহে বিশ্ব!

এটি কেবল একটি সরল দস্তাবেজ যা টেম্পলেট করার জন্য বুটস্ট্র্যাপ লোড করে। আমরা এই মুহুর্তে এই ফাইলটিতে আরও জিনিস যুক্ত করব। আপাতত আপনার টার্মিনালে রুবি অ্যাপ.আরবি চালান এবং আপনার কাজটি যাচাই করতে http: // লোকালহস্ট: 4567 এ যান। আপনাকে "হ্যালো ওয়ার্ল্ড!" দিয়ে অভিনন্দন জানানো উচিত।

অনুসন্ধান ফর্ম

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

কাস্টম অনুসন্ধান 

এটি আপনাকে একটি দুর্দান্ত এবং সাধারণ অনুসন্ধান ফর্ম রেন্ডার করবে। লক্ষ্য করার মতো কয়েকটি বিষয় রয়েছে:

  1. আমরা এমন একটি ফর্ম ব্যবহার করছি যা ব্যবহারকারীকে / পথে, অর্থাৎ এখন তারা যে পথে চলছে তেমন প্রেরণ করবে। এটি কেবল অনুসন্ধানের রেন্ডারিংকে সহজ করার জন্য।
  2. ফর্মটি জিইটি অনুরোধ ব্যবহার করে পাঠানো হয় (পদ্ধতিটি লক্ষ্য করুন)। এটি যাতে অনুসন্ধান কোয়েরিটি ইউআরএলে শেষ হয়, অনুসন্ধান ফলাফলগুলিকে "ভাগযোগ্য" করে তোলে, অর্থাৎ আপনি অনুসন্ধান ইউআরএলটি অনুলিপি করে কাউকে প্রেরণ করতে পারেন এবং তাদের একই ফলাফল পাওয়া উচিত।
গুগল অনুসন্ধান এপিআই-এ সংযোগ করুন

অনুসন্ধান করা হচ্ছে

এখন যে ব্যবহারকারী কোনও অনুসন্ধান অনুসন্ধান টাইপ করতে এবং ফর্মটি প্রেরণ করতে পারেন, আসুন সেই কোয়েরিটি প্রক্রিয়া করুন এবং কিছু ফলাফল আনতে পারেন। প্রথমে এটি দিয়ে অ্যাপ / আরবিতে '/' ব্লকটি সংশোধন করুন:

'/' do @query = params [: কোয়েরি] পান
@results = fetch_results (@ জিজ্ঞাসা) যদি @ প্রশ্ন && !@query.empty?
erb: সূচক, স্থানীয়: {ক্যোয়ারী: @ ক্যোয়ারী, ফলাফল: @ ফলাফল} শেষ

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

লক্ষ্য করুন আমরা শেষে মানটি যুক্ত করেছি। এটি আমাদের ব্যবহারকারীদের জন্য একটি সুবিধাজনক বৈশিষ্ট্য, যেখানে তারা যে অনুসন্ধানটি অনুসন্ধান করেছিলেন তা ফর্মটি জমা দেওয়ার পরে ক্ষেত্রটিতে জনবহুল হয়। এটি ছাড়া ক্ষেত্রটি অনুসন্ধানের সময় শূন্য হবে যা প্রতিদ্বন্দ্বী। চেষ্টা করে দেখুন!

এখন, আসুন fetch_results পদ্ধতি তৈরি করুন। এর জন্য, আমাদের রেপিডাপি ওয়েবসাইট থেকে আমাদের এপিআই কী এবং হোস্টটি ধরে নেওয়া দরকার। র‌্যাপিডাপিআই-এর গুগল এপিআই পৃষ্ঠায় যান এবং এন্ডপয়েন্টস টেস্টার থেকে এই দুটি মান ধরুন:

এটির সাহায্যে আমাদের পদ্ধতিটি তৈরি করা যাক:

টিউটোরিয়ালটির বাকী অংশটি https://rapidapi.com/blog/custom-search-engine-google-api/ এ পড়ুন

ফলাফলগুলি সরবরাহ করা হচ্ছে

টিউটোরিয়ালটির বাকী অংশটি https://rapidapi.com/blog/custom-search-engine-google-api/ এ পড়ুন

সর্বশেষ ফলাফল

আপনার সিনেট্রা সার্ভার পুনরায় চালু করুন (CTRL-C এবং তারপরে আবার রুবি app.rb চালান)। আপনার এখন অনুসন্ধান করা এবং এমন কিছু দেখতে সক্ষম হওয়া উচিত:

মূলত https://rapidapi.com এ জানুয়ারী 22, 2020 এ প্রকাশিত।