এবার দেশে গিয়ে ক্লাস নাইনের এক ছোট ভাইকে ‘সার্চ ইঞ্জিন কি জিনিস’ সেটা বুঝাচ্ছিলাম। এটা সে বর্ননার তৃতীয় পর্ব।
প্রথম পর্ব এখানেঃ Click This Link
দ্বিতীয় পর্ব এখানেঃ Click This Link
ইন্ডেক্সঃ
---------
বইয়ের পিছনে ইন্ডেক্স দেয়া থাকে যেন আমরা আমাদের প্রয়োজনীয় তথ্য যে পেজে আছে তা খুব সহজে খুজে পেতে পারি। তেমনি সার্চ ইঞ্জিনের ইন্ডেক্সেরও কাজ হচ্ছে--একজন ইউজার যে তথ্যটা খুঁজছে তা কোন ওয়েবপেজে আছে কম্পিউটার যেন তা অল্প সময়ে বের করতে পারে। যদি বইয়ের পিছনে ইন্ডেক্স না থাকতো তাহলে আমাদেরকে পুরো বইটা পড়ে দেখতে হত, ঐ তথ্যটা কোন পেজে আছে তা বের করার জন্য। একই ভাবে, সার্চ ইঞ্জিনের যদি ইন্ডেক্স না থাকতো তাহলে কম্পিউটারকে সবগুলো ওয়েবপেজ পড়ে দেখতে হত, ইউজার যে তথ্যটা খঁজছে সেটা কোন ওয়েবপেজে আছে। মনে কর একটা সার্চ ইঞ্জিন ১০,০০০ ওয়েবপেজের একটা ইন্ডেক্স তৈরি করেছে, এখন কোন একটা তথ্য এই ১০,০০০ ওয়েবপেজের কোন কোন পেজে আছে সেটা বের করতে কম্পিউটারের সময় লাগবে কয়েক মিলি সেকেন্ড মাত্র। কিন্তু যদি ইন্ডেক্স না থাকতো তাহলে কয়েক ঘন্টা সময় লেগে যেত!
বিভিন্ন ধরনের সার্চ ইঞ্জিন ইন্ডেক্স তৈরিতে প্রয়োজন অনুসারে বিভিন্ন ধরনের ডাটা স্ট্রাক্সার ব্যবহার করে থাকে, যেমনঃ সাফিক্স ট্রি, ইনভার্টেড ইন্ডেক্স, সাইটেশন ইন্ডেক্স, এনগ্রাম ইন্ডেক্স, ডকুমেন্ট-টার্ম মেট্রিক্স, ইত্যাদি। আমরা এসবের মধ্যে না গিয়ে সিম্পল ১টা ডাটা স্ট্রাক্সার দিয়ে বুঝার চেষ্টা করি কিভাবে ডাটা স্ট্রাক্সার ইন্ডেক্সের পারফরমেন্স চেঞ্জ করে দিতে পারে। তুমি যদি ভাল করে খেয়াল করে দেখ, দেখবে বইয়ের পিছনে যে ইন্ডেক্সটা আছে সেটা কিন্তু ক্রনোলজিকালি সাজানো। মানে হচ্ছে A দিয়ে শুরু করা শব্দগুলো আছে প্রথমে, তার পর আছে B দিয়ে শুরু করা শব্দগুলো, তার পর C দিয়ে শুরু করা শব্দগুলো, এভাবে। এতে সুবিধা কি? সুবিধা হচ্ছে ইন্ডেক্সের প্রথম থেকে একটা একটা করে শব্দ না দেখেও তুমি যে শব্দটা খঁজছো সেটা ইন্ডেক্সের কোথায় আছে সেটা সহজে পেয়ে যাও। মনে কর, তুমি plum শব্দটা খুজঁতেছ তাহলে তুমি আশা করতে পার যে, শব্দটা ইন্ডেক্সের মাঝামাঝি এবং শেষ এই জায়গার মধ্যে কোথাও আছে। তারপর তুমি সেই জায়গাটাকে আবার মাঝামাজি বরাবর ২ ভাগে ভাগ করে বুজতে পার কোন ভাগে শব্দটা থাকতে পারে। এভাবে কয়েকবার করলে তুমি শব্দটা পেয়ে যাবে। এখন দেখ, শব্দগুলো যদি বইয়ের ইন্ডেক্সে এইভাবে না সাজিয়ে এলোমেলো করে রাখা হত তাহলে তোমাকে পুরো ইন্ডেক্সটা খুঁজে দেখতে হত plum শব্দটা কোথায় আছে। কম্পিউটারও এই টেকনিকটা কাজে লাগায়—যেটাকে বলে বাইনারি সার্চ। ১০,০০০ শব্দের ইন্ডেক্স থেকে বাইনারি সার্চ ব্যবহার করে একটা শব্দ বের করতে কম্পিউটারকে মাত্র ১৩ বারের মত এরকম চেষ্টা করে হয়। মানে হচ্ছে, তাকে মাত্র ১৩টা শব্দ পড়ে দেখতে হয়। তানাহলে তাকে ১০,০০০ শব্দের সবগুলো পড়ে দেখতে হত।
স্পাইডার/ক্রলারঃ
------------------
স্পাইডার বা ক্রলারের কাজ হচ্ছে ইন্ডেক্সিং’র জন্য সিস্টেমেটিকেলি ওয়েবসাইটগুলো ব্রাউজ করা। স্পাইডারের মূল আইডিয়াটা সিম্পল। (যদিও ইমপ্লিমেন্ট করতে গেলে অনেক কমপ্লেক্স কেজ হেন্ডেল করতে হয়।) কয়েকটা ইউআরএল নিয়ে এটি ব্রাউজ করা শুরু করে। শুরুর এই ইউআরএলগুলোকে বলে সিড। স্পাইডার যখন কোন ওয়েবপেজ ব্রাউজ করে তখন সেখানে অন্য যেসব ওয়েবপেজের লিংক থাকে (হাইপারলিংক) সে লিংকগুলোকে একটা ইউআরএল লিস্টে যোগ করে, যাকে বলে ক্রালার ফ্রন্টিয়ার। এই ইউআরএল লিস্ট থেকে, কিছু পলিসির উপর ভিত্তি করে, রিকার্সিভলি সে ওয়েবপেজগুলো ব্রাউজ করতে থাকে।
[চলবে...]
সর্বশেষ এডিট : ১৬ ই নভেম্বর, ২০১৫ বিকাল ৪:৫১