Google সার্চ কিভাবে কাজ করে?

যেকোন তথ্য জানতে চাইলেই হাতের কাছে রয়েছে গুগল। বর্তমানে গুগল এতটাই জনপ্রিয় যে “google” শব্দটি ডিকশনারিতেও জায়গা করে নিয়েছে! শুধু তাই নয় "Google" হচ্ছে আমাদের জীবনের একটি অংশ,  কাউকে কিছু জিজ্ঞেস করলে অনেক সময় উত্তর পাওয়া যায়, “গুগল সার্চ করো!” কিন্তু গুগল কীভাবে তথ্য খুঁজে বের করার কাজটি করে থাকে সেটি কি জানো?

ইন্টারনেট ব্যবহার করে কিন্তু গুগলের নাম শুনেনি এমন মানুষ খুঁজে পাওয়া কঠিন, তবে তথ্য অন্বেষণে কিন্তু গুগল ছাড়াও বিভিন্ন সার্চ ইঞ্জিন রয়েছে যেমন- Yahoo, Bing, Duckduckgo ইত্যাদি। এগুলো নিজ নিজ স্বকীয়তার জন্য জনপ্রিয় এবং সার্চ ইঞ্জিন হিসেবে প্রসিদ্ধ। যদিও জনপ্রিয়তার দিক থেকে বর্তমানে গুগলের আশেপাশেও নেই অন্য কোন সার্চ ইঞ্জিন

“Search Engine” কী জিনিস?

প্রথমেই জেনে নেওয়া ভাল, সার্চ ইঞ্জিন কী?  আমরা সবাই প্রতিনিয়ত বিভিন্ন কাজে সার্চ ইঞ্জিন ব্যবহার করে অভ্যস্ততবুও জিনিসটি কী সে ব্যাপারে অনেকেরই পরিষ্কার ধারণা নেই। সহজ ভাষায় বলতে গেলেসার্চ ইঞ্জিন হল এক ধরনের সফটওয়্যার সিস্টেম যা World Wide Web (WWW)-এর অন্তর্ভুক্ত সাইটগুলো থেকে তথ্য খুঁজে বের করতে সাহায্য করে আমাদের সার্চ ইঞ্জিনের মাধ্যমে কোন ঠিকানা না জেনেই অনেক সহজে প্রয়োজনীয় তথ্য বা ওয়েবসাইট খুঁজে পাওয়া যায়। এজন্যই ইন্টারনেট ব্যবহারকারী এবং ওয়েব ডেভেলপারদের কাছে সার্চ ইঞ্জিনের গুরুত্ব অপরিসীম

Search Engine” এর যত কেরামতি!

গুগল ও বিভিন্ন সার্চ ইঞ্জিন প্রসারের ফলে চমৎকার একটি ব্যাপার ঘটেছে- আমাদের আর কষ্ট করে অপ্রয়োজনীয় সব তথ্য দিয়ে মাথা বোঝাই করে রাখতে হয় না। যেকোন কিছু জানার প্রয়োজন হলে গুগল ওপেন করে সার্চ করলেই মুহূর্তের ভেতর লক্ষ লক্ষ ফলাফল এসে হাজির হয়ে যায়!
সেখানেও আরেক মজা, সার্চ করতে গিয়ে টাইপিং এ ভুল করলে গুগল সেটাকে ঠিকঠাক শুদ্ধ করে রেজাল্ট দেখিয়ে দেয়। আবার একটি বিষয়ের উপর হয়তো ভাল ধারণা নেই, আন্দাজের উপর কিছু একটা লিখে সার্চ দিলেও সাথে সাথে গুগল তোমার মনের কথা বুঝে নিয়ে প্রয়োজনীয় তথ্য তোমার সামনে হাজির করে দেবে!
এসব ফলাফল বের করতে বা মনের কথা বুঝে নিতে গুগলের সময় লাগে ১ সেকেন্ডের কম! গোটা ওয়ার্ল্ড ওয়াইড ওয়েবের শত শত কোটি সাইট ঘেঁটে ১ সেকেন্ডের কম সময়ে তথ্য বের করে দেওয়া নিশ্চয়ই সহজ কথা নয়! আপাতদৃষ্টিতে অসম্ভব এই কাজটি সার্চ ইঞ্জিনগুলো কীভাবে করে থাকে চলো সেটি দেখে নেওয়া যাক।

তথ্য খোঁজার ৩টি ধাপ

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

ওয়েবসাইট ভিজিট, ইনডেক্স তৈরি করা, সার্চ কোয়্যারি মিলিয়ে দেখা- এই জটিল কাজগুলো করা হয় কিছু কৌশলের মাধ্যমে।

ওয়েব ক্রলিং (Web Crawling)

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

প্রতিটি সার্চ ইঞ্জিনের প্রযুক্তি ভিন্ন, ইনডেক্স তৈরির কৌশলও ভিন্ন

সার্চ ইঞ্জিনের ভাষায় এদের স্পাইডার বলা হয়। এরা  ইন্টারনেটে যত ওয়েবসাইট রয়েছে সেগুলির প্রত্যেকটি লিংক প্রতিনিয়ত ভিজিট করে। প্রতিবার একটি সাইট ভিজিট করার সময় সাইটটির নতুন লিংকগুলি সংগ্রহ করে এবং নষ্ট বা ডেড লিঙ্কগুলো সার্ভার থেকে মুছে দেয়।
প্রথমে স্পাইডার বিভিন্ন জনপ্রিয় পেইজ থেকে শব্দ বা কি-ওয়ার্ড সংগ্রহ করে। তারপর ঐ সাইটে অন্যান্য যেসব পেইজের লিংক রয়েছে সেগুলো অনুসরণ করে। ঐসব পেজে গিয়ে সেখানে থাকা অন্যান্য লিংকও অনুসরণ করে। এভাবে প্রতিনিয়ত চলতে থাকে স্পাইডারের ভ্রমণ। স্পাইডার একটা নির্দিষ্ট সময় পরপর সাইটগুলোতে ঢুকে দেখে নতুন কোন পরিবর্তন এসেছে কিনা।
যেমন আমার এই ("FARHAD HASAN") ব্লগে প্রতিদিন যে নতুন নতুন লেখা প্রকাশিত হচ্ছে তা কিন্তু কেউ গুগলের স্পাইডারকে জানায়নি। কিন্তু লেখাগুলোর শিরোনাম দিয়ে গুগলে সার্চ করলে দেখা যাবে ঠিকঠাক ("FARHAD HASAN") এর লেখাগুলোই চলে এসেছে ফলাফলে! কারণ স্পাইডার নতুন লেখাগুলোর ব্যপারে না জানলেও ("FARHAD HASAN") ব্লগ কে কিন্তু ঠিকই চেনে! তাই সে প্রতিনিয়ত ("FARHAD HASAN") ওয়েবসাইটে ঢুকে সবগুলো লিংক অনুসরণ করে তার তথ্য ভাণ্ডার সমৃদ্ধ করে, আর সেই ফাঁকে এই নতুন লেখাগুলোকেও ক্রল (Crawl) করে নিয়েছে।

মেটা ট্যাগস

HTML ট্যাগের কথা নিশ্চয়ই শুনেছো? মেটা ট্যাগস হচ্ছে একরকম বিশেষ HTML ট্যাগ যেটি খুব সংক্ষেপে একটি পেইজের কী কী জিনিস রয়েছে সে ব্যাপারে ধারণা দেয়। যেমন ("FARHAD HASAN") ব্লগের লেখাগুলোয় নানারকম ট্যাগ থাকে, কোনটি হয়তো “পড়াশোনার টিপস”, কোনটি “স্কিল ডেভেলপমেন্ট” আবার কোনটি হয়তো “অনুপ্রেরণামূলক গল্পের ঝুলি” তে অন্তর্ভুক্ত, সেটি দেখে আমরা ধারণা পাই লেখার বিষয়বস্তু সম্পর্কে। মেটা ট্যাগও সেরকম ধারণা দেওয়ার কাজ করে, কিন্তু সেই ধারণা আমাদের নয়, সার্চ ইঞ্জিনকে দেয়!
মেটা ট্যাগ ব্যবহারে অবশ্য কিছু সমস্যাও রয়েছে। যেমন ইউটিউবে অনেকসময় দেখবে ভিডিওর ট্যাগে এমন সব লেখা থাকে যেগুলোর সাথে ভিডিওর বিষয়বস্তুর বিন্দুমাত্র সম্পর্ক নেই! এরকম বিভিন্ন জটিলতা দূর করতে সার্চ ইঞ্জিনের স্পাইডাররা নানারকম কৌশলের মাধ্যমে মেটা ট্যাগের সাথে পেইজের অভ্যন্তরীণ বিষয়বস্তুর সামঞ্জস্য রয়েছে কিনা সেটি মিলিয়ে দেখে।

ইনডেক্স

আগেই জেনেছো, স্পাইডার ইন্টারনেট থেকে তথ্য সংগ্রহ করে এবং পরে সেগুলোকে সংরক্ষণ করা হয়। যেহেতু বিশ্বজুড়ে কোটি কোটি ওয়েবসাইটে প্রতিমুহূর্তেই অগণিত তথ্য যুক্ত হচ্ছে, সেজন্য স্পাইডার সারাক্ষণই ক্রলিং করতে থাকে, ইনডেক্সও প্রতিনিয়ত আপডেট হতে থাকে। স্পাইডারের সংগ্রহ করা তথ্য ব্যবহার করেই একটি সার্চ ইঞ্জিন তার ইনডেক্স বা তথ্যভাণ্ডার তৈরি করে। একটি ইনডেক্সে নানারকম শব্দ ও তার URL গুলোর তালিকা থাকে।
প্রতিটি সার্চ ইঞ্জিনের প্রযুক্তি ভিন্ন, ইনডেক্স তৈরির কৌশলও ভিন্ন। কোন পেইজের কোন শব্দটিতে কতটুকু গুরুত্ব দেওয়া হবেসেটি সার্চ ইঞ্জিনগুলো ঠিক করে দেয়। এই কাজটি সম্পন্ন করার জন্য একেকটি সার্চ ইঞ্জিন একেকরকম মাপকাঠি ব্যবহার করে থাকে, সেজন্যই গুগলে একটি শব্দ লিখে সার্চ করলে যেটি প্রথমে আসবে অন্য একটি সার্চ ইঞ্জিনে হয়তো সেটি প্রথম দশেও আসবে না!

"আরও বিষয়ে জানতে নিয়মিত সাইটটি ভিজিট করুন ও আপনার বন্ধুকে শেয়ার করুন।" 

!ধন্যবাদ!

একটি মন্তব্য পোস্ট করুন

নবীনতর পূর্বতন