সার্চ ইঞ্জিন যেভাবে কাজ করে

একটা অতি পরিচিত ঘটনা দিয়ে শুরু করা যাক।
একদিন যদু কদুকে জিজ্ঞেস করল, “বল দেখি, গুগল ছেলে না মেয়ে?
কদু এক সেকেন্ডও সময় না নিয়ে বলল, “মেয়ে, কারণ গুগল সব জানে।

কৌতুকটা তেমন মজার ছিল না জানি। এসব রেখে এবার সত্যিকারের একটা প্রশ্ন করি। কখনো কি ভেবেছেন গুগল এতসব জানে কীভাবে? আর কীভাবেই বা এত জলদি প্রয়োজনীয় উত্তর হাজির করে আমাদের মোবাইল বা কম্পিউটারের স্ক্রিনে? চলুন একটু ভাবা যাক৷

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

সার্চ ইঞ্জিন হলো এমন একটা সিস্টেম যার মাধ্যমে ইন্টারনেটে থাকা বিভিন্ন তথ্য থেকে প্রশ্নকারীর প্রশ্ন অনুযায়ী নির্দিষ্ট উত্তর ক্রমানুযায়ী সাজিয়ে প্রদর্শন করা হয়৷ এখনকার কয়েকটা মৌলিক সার্চ ইঞ্জিনের নাম হলো: Google, Bing, Baidu, Yandex ইত্যাদি। বাকিরা সবাই এদের থেকে সার্ভিস ভাড়া করে সার্চ ইঞ্জিন প্রভাইড করে। সব সার্চ ইঞ্জিনের কাজের পদ্ধতি মোটামুটি একই। আজকে আমাদের এই প্রবন্ধের মূল বিষয় এটাই যে কীভাবে সার্চ ইঞ্জিন কাজ করে।

প্রাইভেসি ফোকাসড সার্চ ইঞ্জিন DuckDuckGo. DuckDuckGo ছোটদের খেলা duck, duck, goose থেকে অনুপ্রাণীথত হয়ে নামকরণ করা। ছবি: Ascannio/Shutterstock
প্রাইভেসি ফোকাসড সার্চ ইঞ্জিন DuckDuckGo. ‘DuckDuckGo’ নামটি ছোটদের খেলা duck, duck, goose থেকে অনুপ্রাণীত হয়ে নামকরণ করা।
ছবি: Ascannio/Shutterstock

পুরো বিষয়টা বোঝার জন্য চলুন একটা রাফ নোট করে নিই। এরপরে আমরা বিস্তারিতভাবে বোঝার চেষ্টা করব আসলে কীভাবে সার্চ ইঞ্জিন কাজ করে৷

‍‍‍‍‍‍‍‍‍‍‍সার্চ ইঞ্জিনের মূলত তিনটা অংশ। যথা:
১. স্পাইডার (spider বা web crawler) সফটওয়্যার
২. ইনডেক্স (index) সফটওয়্যার
৩. কুয়েরি (web query) সফটওয়্যার।

১. স্পাইডার সফটওয়্যার:

আমাদের মনে রাখতে হবে, সার্চ ইঞ্জিন কেবল অক্ষর/বর্ণ ছাড়া আর কিছু চিনে না। স্পাইডার সফটওয়্যার ইন্টারনেটে থাকা বিভিন্ন ওয়েবসাইটের পেইজের ডেটা সংগ্রহ করে থাকে, তবে এর সীমাবদ্ধতাও আছে। এটা কেবল লেখা, লিংক এবং URL নিতে পারে। আলাদা ছবি, ভিডিয়ো এসব সে এড়িয়ে চলে যায়। এমনকি সেই ছবি/ভিডিয়োতে লেখা থাকলেও। এক্ষেত্রে সার্চে ছবি বা ভিডিয়ো পেতে হলে তা আপলোডের সময় নাম বা ওই লেখা ‘Alt.‘ অ্যট্রিবিউট ট্যাগের ভেতরে রাখতে হয়। তখন নাম দেখে সার্চ ইঞ্জিন এই ছবি/ভিডিয়োর উপস্থিতি ও উদ্দেশ্য সম্পর্কে জানতে পারে।

২. ইনডেক্স সফটওয়্যার:

স্পাইডার তার সংগ্রহ করা সব তথ্য মূলত জমা রাখে ইনডেক্সের কাছে। যেহেতু সব তথ্যই (শব্দ, লিংক, URL ইত্যাদি) বর্ণ, তাই এটা সার্চের সময় লেখার (Query) সাথে তার ডেটাবেজের যে তথ্য মিলে যায় কেবল সেগুলোই প্রদর্শনে সাহায্য করে।

এখানে ইনডেক্সের একটা নিজস্ব অ্যালগোরিদম থাকে যার কারণে প্রশ্নকারীকে সর্বোচ্চ সুবিধা দেওয়ার চেষ্টা করা হয়। ছোটো একটা উদাহরণ দিই − কোনো সার্চ বারে, ধরুন গুগলের সার্চ বারে এসে আমরা যদি Milk লিখি তবে নিচে সাজেশন হিসেবে ‘Milk’, ‘Milky way’ ইত্যাদি আরও বেশ কয়েকটা সাজেশন চলে আসে। এই অবস্থায় আমরা যদি আরও এক−দুইটা শব্দ, অক্ষর যোগ-বিয়োগ করি, সে অনুযায়ী সাজেশনও পালটে যাবে৷ ইনডেক্স মূলত প্রশ্নকারীর প্রয়োজন অনুযায়ী এরকম তথ্য সবসময় আপডেট রাখার কাজটাই করে।

৩. কুয়েরি সফটওয়্যার:

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

Archie (ডোমেইন: archie.icm.edu.pl http://archie.icm.edu.pl/archie_eng.html) ইন্টারনেট জগতের প্রথম সার্চ ইঞ্জিন (ফাইন ভিত্তিক ছিলো)। প্রথম দিকের অনলাইন সাংবাদিকরা Archie নামের এই ইন্টারনেট অনুসন্ধান টুল ব্যবহার করত, যেটি প্রকাশিত হয়েছিল ১০ই সেপ্টেম্বর, ১৯৯০ সালে। যদিও Archie মূলত FTP ফাইল ইনডেক্স করতো। W3Catalog কে বিশ্বের প্রথম ওয়েব সার্চ ইঞ্জিন বলা হয়।
Archie (ডোমেইন: archie.icm.edu.pl) ইন্টারনেট জগতের প্রথম সার্চ ইঞ্জিন (ফাইন ভিত্তিক ছিলো)। প্রথম দিকের অনলাইন সাংবাদিকরা Archie নামের এই ইন্টারনেট অনুসন্ধান টুল ব্যবহার করত, যেটি প্রকাশিত হয়েছিল ১০ই সেপ্টেম্বর, ১৯৯০ সালে। যদিও Archie মূলত FTP ফাইল ইনডেক্স করতো। W3Catalog কে বিশ্বের প্রথম ওয়েব সার্চ ইঞ্জিন বলা হয়, ALIWEB (Archie Like Indexing for the Web) কে প্রথম ট্রু সার্চ ইঞ্জিন বলা হয়।

এতটুকু হলো সারমর্ম বা মূল কথা। এবার চলুন বিস্তারিতভাবে আলোচনা করা যাক আসলেই সার্চ ইঞ্জিন কীভাবে কাজ করে।

এজন্য আমাদের সবার প্রথমে কয়েকটা জিনিস জানতে হবে। এগুলো হলো:

১. কন্টেন্ট: হ্যাঁ, ইন্টারনেটে আমরা যা যা দেখি সবই একেকটা কন্টেন্ট। লেখা, ভিডিয়ো, অ্যানিমেশন, পিডিএফ, এক্সেল ফাইল ইত্যাদি−সবই হলো কন্টেন্ট৷ এগুলো মূলত টার্গেটেট অডিয়েন্সকে কেন্দ্র করে তাদের চাহিদা অনুযায়ী তৈরি করে আপলোড করা হয়। পরে সার্চকারীর প্রয়োজন বুঝে সার্চ ইঞ্জিন এগুলোর মধ্যে ‘Best to Worst’ সিরিয়ালে সাজিয়ে উপস্থাপন করে। এখানে আরও দুইটা লাইন যোগ করি, সাজানোর সময় সার্চ ইঞ্জিন রেজাল্টগুলোকে সবসময় Top 10 হিসেবে সাজায়। মানে সেরা রেজাল্টগুলো থাকবে SERP (Search Engine Result Page)-এর প্রথম পাতায়, বাকিগুলো পরবর্তী পাতাসমূহে৷ আর প্রত্যেকটা সার্চ ইঞ্জিন তার সার্ভারে থাকা তথ্যের ওপর নির্ভর করে উত্তর দেয়। যেমন: গুগল তার স্পাইডার দিয়ে সংগৃহীত তথ্যের ওপর নির্ভর করে ফলাফল প্রদান করে। তেমনি বিং করে সরাসরি তার স্পাইডারের ওপর নির্ভর করে৷

২. কী-ওয়ার্ড: ইন্টারনেটে যেগুলো সবচেয়ে বেশি সার্চ করা হয় ওগুলোই একেকটা কী-ওয়ার্ড। কন্টেন্ট তৈরির সময় মূলত এই কি-ওয়ার্ডের ওপর জোর দেওয়া হয়। কারণ সার্চ ইঞ্জিন চায় তার ব্যবহারকারীদের সর্বোচ্চ সেবা দিতে, তাই তারা যা যা লিখে সার্চ করে সেগুলোকেই সে বেশি গুরুত্ব দেয়। আর তাই যত ভালো কন্টেন্টই হোক না কেন সেখানে এই কি-ওয়ার্ডের ব্যবহার, অর্গানাইজ করা এসব দেখেই সার্চ ইঞ্জিন বুঝতে পারে ব্যবহারকারীর জন্য কোন পেইজ সবচেয়ে ভালো। সেই হিসেবেই কোনো পেইজকে SERP লিস্টের শুরুর দিকে রাখে।

গুগলের মূল হোমপেইজ। একদম সাধারণ ডিজাইন ছিল কারণ কোম্পানির প্রতিষ্ঠাতাদের এইচটিএমএল ( HTML, ওয়েব পেজ ডিজাইন করার জন্য ব্যবহৃত মার্কআপ ল্যাঙ্গুয়েজ) সম্পর্কে সামান্য অভিজ্ঞতা ছিল।
গুগলের মূল হোমপেইজ। একদম সাধারণ ডিজাইন ছিল কারণ কোম্পানির প্রতিষ্ঠাতাদের এইচটিএমএল (HTML, ওয়েব পেজ ডিজাইন করার জন্য ব্যবহৃত মার্কআপ ল্যাঙ্গুয়েজ) সম্পর্কে সামান্য অভিজ্ঞতা ছিল।

এবার আসি মূল আলোচনায়।

আগে যেভাবে বলেছিলাম সার্চ ইঞ্জিন ইন্টারনেটের সব পেইজ খুঁজে না, ইনডেক্সের ওপর নির্ভর করে রেজাল্ট দেয়। এখানে একটা সাইকেল কাজ করে৷ সার্চকারী তার প্রশ্ন (কুয়েরি) করলে তা ইনডেক্সে ম্যাচ করা হয়৷ এরপরে যতগুলো ম্যাচ পেয়েছে সেগুলোকে সংগতিপন্নতার ওপর নির্ভর করে ম্যাচিং, URL র‍্যাংক অনুযায়ী সাজায়৷ (এখানে কিছু ফ্যাক্টর কাজ করে যা আমরা একটু পরেই জানব)। লিস্ট করা URL রেজাল্টগুলো ডিসপ্লে করে সার্চ রেজাল্ট হিসেবে৷

কুয়েরি অনুযায়ী ম্যাচ করা:

১. সার্চ কুয়েরিতে একসাথে এক বা একাধিক বাক্য সার্চ করা যায়, এজন্য স্পেশাল ক্যারেক্টার, সিম্বল ইত্যাদি ব্যবহার করা যায়।

২. এবার এই কুয়েরিকে অ্যানালাইজ করা হয়।

ক. প্রথমে বানান, গঠন ইত্যাদি অনুযায়ী ভিন্নার্থক কিছু রেজাল্ট আছে কি না এসব দেখা হয়৷ ঠিকটাও দেখায়, অন্য শব্দের জন্যও অপশন রাখে (সেজন্যই ভুল বানান লিখলেও মাঝে মাঝে দেখায় Search instead for…)।

খ. একাধিক শব্দ মিলে অর্থবোধক কোনো কিছু দাঁড়ায় কি না এটাও দেখায়, থাকলে তা রেজাল্টের অন্তর্ভুক্ত হবে৷
এছাড়াও শব্দের ক্রম, অপারেটর ইত্যাদির ব্যবহার অনুযায়ী সম্ভাব্য প্রশ্ন কী হতে পারে তা সার্চ ইঞ্জিন প্রথমে বের করে নেয়৷

৩. এবার ফলাফল প্রদর্শনের পালা।

এখানে আবার দুইটা জিনিস আছে −
ক. পেইড প্লেইসমেন্ট ম্যাচ এবং
খ. অর্গানিক ম্যাচ।

ক. পেইড প্লেইসমেন্ট ম্যাচ হলো এমন পদ্ধতি যেখানে পেইজের মালিক সার্চ ইঞ্জিনকে পে করবে তার রেজাল্ট SERP-তে দেখানোর জন্য৷ অনেকটা ফেইসবুকে প্রমোট করার মতো। এতে স্বাভাবিকভাবেই সার্চকারীর প্রশ্ন অনুযায়ী এই পেইড পেইজে উত্তর থাকলে তা আগে প্রদর্শিত হবে। অবশ্য এক্ষেত্রে সার্চ ইঞ্জিনের কোম্পানিভেদে কী-ওয়ার্ড আর পেমেন্টের গুরুত্বের পার্থক্য রয়েছে।

খ. অর্গানিক ম্যাচ হলো যেখানে সার্চকারীর প্রশ্ন অনুযায়ী যে পেইজ সবচেয়ে ভালোভাবে উত্তর দিতে পারবে বলে সার্চ ইঞ্জিন মনে করে, তাকে SERP-তে র‍্যাংক করায়। এখানে পেইজের মালিকের কোনো পে করতে হয় না, তার কন্টেন্টের গুণে পেইজ র‍্যাংক করে। এক্ষেত্রে আরও সাহায্য করে সার্চ কি-ওয়ার্ডের সাথে Document ID, URL ইত্যাদির মিল। কারণ এতে সার্চকারীর প্রশ্নের উত্তরের সাথে পেইজটা কতটা সংগতিপন্ন তা সহজেই বোঝা যায়৷

এখন এই র‍্যাংকিংয়ের ক্ষেত্রে অর্গানিক আর পেইডে দুই ক্ষেত্রে কার্যধাপ মোটামুটি মিল থাকলেও একটু পার্থক্য হলো পেইড ম্যাচ দেখতে হয় যে এড দেওয়া হচ্ছে তা ব্যবহারকারীর উপযোগী কি না। আবার অর্গানিকের চেয়ে পেইড পেইজের সংখ্যা কম। তাই সহজে র‍্যাংক করা যায়।
অন্যদিকে অর্গানিকের ক্ষেত্রে পুরোটাই কন্টেন্ট নির্ভর। এক্ষেত্রে অবশ্য সময়ের সাথে সাথে কন্টেন্টে পরিবর্তন সাধন করেও র‍্যাংক করা যায়।

এবার অল্প করে র‍্যাংকিংয়ের কিছু প্রাইমারি ফ্যাক্টর জেনে নিই।

১. টেক্সট অ্যানালাইসিস: কন্টেন্টে কী-ওয়ার্ডের ঘনত্ব, ব্যবহারের স্থান, প্রশ্নকারীর উত্তরের সাথে সামঞ্জস্যতা ইত্যাদি নির্ভর করে ওই পেইজ/সাইট প্রশ্নকারীকে তার যথাযোগ্য উত্তর দিতে পারবে কি না।
সহজ একটা উদাহরণ দিই − সার্চবারে গিয়ে কিছু লিখলে নিচে সাজেশন আসে। এবার একটা দুইটা শব্দ পালটে দিলেও সে অনুযায়ী আলাদা সাজেশন আসে − এগুলো টেক্সট অ্যানালাইসিসের একটা উদাহরণ।
কী-ওয়ার্ড প্লেইসমেন্টের জন্য সেরা তিনটা জায়গা হলো: ক. টাইটেল, খ. হেডিং, গ. বডির শুরুর অংশ। কারণ এই তিনটা জায়গাতেই ব্যবহারকারীর চোখ সবার আগে যায় এবং সে বুঝতে পারে এই পেইজ তার উপযোগী কি না৷

২. লিংক অ্যানালাইসিস: এখানে অথোরিটি একটা বড় ফ্যাক্টর৷ যে পেইজ/সাইটের অথোরিটি বেশি সার্চ ইঞ্জিনের কাছে তার গুরুত্ব তত বেশি৷ বয়স্ক সাইটের অথোরিটি বেশি আবার অন্য পেইজ এই সাইটকে কতবার মেনশন করল/লিংক করল বা তার রেফারেন্স দিলো এর ওপরও অথোরিটি নির্ভর করে। এর জন্য সবচেয়ে ভালো উদাহরণ হলো উইকিপিডিয়া। উইকিপিডিয়ার অথোরিটি অনেক বেশি৷

৩. ট্র‍্যাফিক অ্যানালাইসিস: সার্চ ইঞ্জিনের দুনিয়ায় ‘ট্র‍্যাফিক’ অনেক বড়ো একটা ফ্যাক্টর। ‘ট্র‍্যাফিক’ হলো একটি পেইজে কতজন মানুষ ভিজিট করে তার সংখ্যা। এটাও অথোরিটি বাড়াতে সাহায্য করে।

এখানে আরেকটা জিনিস বলা উচিত। “বাউন্সিং“ বলে একটা জিনিস আছে যার অর্থ হলো ভিজিটর সাইটে ঢুকে অন্য পেইজে যায়নি, বের হয়ে গেছে৷ এটা সার্চ ইঞ্জিনকে খারাপ সংকেত দেয়। মানে ওই সাইট ভালো সুবিধা দিচ্ছে না। আবার SERP-তে র‍্যাংকিংয়ে থাকার পরেও ট্র‍্যাফিক সংখ্যা কম থাকলেও সার্চ ইঞ্জিন এটাকে পেনাল্টি দেয়ার তালিকায় ধরে নেবে।

১৯৯৯ সালে ব্যবহৃত গুগলের প্রথম প্রোডাকশন সার্ভার। ছবিটি ২০০৫ সালে তোলা হয়েছে Computer History Museum (CHM) থেকে। ছবি: Steve Jurvetson
১৯৯৯ সালে ব্যবহৃত গুগলের প্রথম প্রোডাকশন সার্ভার। ছবিটি ২০০৫ সালে তোলা হয়েছে Computer History Museum (CHM) থেকে।
ছবি: Steve Jurvetson

এগুলো গেল লেখা অনুযায়ী সার্চ ইঞ্জিনের কার্যপদ্ধতি এবার অল্প করে এর কিছু তথ্য জেনে নিই।

১. ব্যবহারকারীর প্রশ্ন অনুযায়ী সার্চ ইঞ্জিন প্রথমে তার ডেটাবেজে থাকা তথ্যগুলোকে ফাইল টাইপ অনুযায়ী আলাদা করে ফেলে। যেমন: ওয়ার্ড ফাইল, এক্সেল শিট, পিডিএফ ফাইল ইত্যাদি। ব্যবহারকারীর আগ্রহ এবং তার সুবিধা অনুযায়ী SERP-এর লিস্ট সাজানো হয়।

২. সার্চ ইঞ্জিন কেবল লেখা পড়তে পারে। ছবি, ভিডিয়ো এমনকি তাদের ওপরে থাকা লেখা পর্যন্ত পড়তে পারে না। সেক্ষেত্রে সে এগুলোকে এড়িয়ে যায়। সার্চ ইঞ্জিন কেবল ক. ইমেজ নেম, খ. ইমেজের ALT টেক্সট গ. মেটা টেক্সট (টাইটেল, ডেস্ক্রিপশন, কী-ওয়ার্ডস, অন্যান্য ডিরেকটিভস), ঘ. URL টেক্সট পড়তে পারে৷

তাই ওয়ার্ড ছাড়া অন্য ফাইল টাইপে কন্টেন্ট তৈরি করলে সেগুলোর আপলোডের সময় নাম/লেখা ALT টেক্সটের ভেতর দিয়ে দিতে হয়৷

তো এবার ভাবুন কোনটা বেশি জটিল? সার্চ ইঞ্জিনের এলগোরিদম, না কদুর উত্তরের অ্যালগোরিদম? 😜