موتور جستجو چگونه کار میکند؟
محتویات
مقدمه
وقتی جستجویی در یک موتور جستجوگر انجام و نتایج جستجو ارایه میشود، کاربران در واقع نتیجه کار بخشهای متفاوت موتور جستجوگر را میبینند. موتور جستجوگر قبلا" پایگاه دادهاش را آماده کرده است و این گونه نیست که درست در همان لحظه جستجو، تمام وب را بگردد. بسیاری از خود میپرسند که چگونه ممکن است گوگل در کمتر از یک ثانیه تمام سایتهای وب را بگردد و میلیونها صفحه را در نتایج جستجوی خود ارایه کند؟
گوگل و هیچ موتور جستجوگر دیگری توانایی انجام این کار را ندارند. همه آنها در زمان پاسخ گویی به جستجوهای کاربران، تنها در پایگاه دادهای که در اختیار دارند به جستجو میپردازند و نه در وب! موتور جستجوگر به کمک بخشهای متفاوت خود، اطلاعات مورد نیاز را قبلا" جمع آوری، تجزیه و تحلیل میکند، آنرا در پایگاه دادهاش ذخیره مینماید و به هنگام جستجوی کاربر تنها در همین پایگاه داده میگردد. بخشهای مجزای یک موتور جستجوگر عبارتند از:
- Spider یا عنکبوت
- Crawler یا خزنده
- Indexer یا بایگانی کننده
- Database یا پایگاه داده
- Ranker یا سیستم رتبه بندی
Spider- (عنکبوت)
اسپایدر یا روبوت (Robot)، نرم افزاری است که کار جمع آوری اطلاعات مورد نیاز یک موتور جستجوگر را بر عهده دارد. اسپایدر به صفحات مختلف سر میزند، محتوای آنها را میخواند، لینکها را دنبال میکند، اطلاعات مورد نیاز را جمع آوری میکند و آنرا در اختیار سایر بخشهای موتور جستجوگر قرار میدهد. کار یک اسپایدر، بسیار شبیه کار کاربران وب است. همانطور که کاربران، صفحات مختلف را بازدید میکنند، اسپایدر هم درست این کار را انجام میدهد با این تفاوت که اسپایدر کدهای HTML صفحات را میبیند اما کاربران نتیجه حاصل از کنار هم قرار گرفتن این کدها را. index.html صفحهای است که کاربران آنرا به صورت تصویر زیر میبینند:
نمونهای از صفحات وب که توسط مرورگرها نشان داده میشود.
اما یک اسپایدر آنرا چگونه میبیند؟
برای این که شما هم بتوانید دنیای وب را از دیدگاه یک اسپایدر ببینید، کافی است که کدهای HTML صفحات را مشاهده کنید. برای این کار در مرورگر مورد استفاده خود، مسیر نشان داده شده در تصویر زیر دنبال کنید.
روش مشاهده کدهای HTML یک صفحه وب
با انجام این کار فایل متنی تصویر زیر به شما نشان داده میشود:
آیا این دنیای متنی برای شما جذاب است؟
اسپایدر، به هنگام مشاهده صفحات، بر روی سرورها رد پا برجای میگذارد. شما اگر اجازه دسترسی به آمار دید و بازدیدهای صورت گرفته از یک سایت و اتفاقات انجام شده در آن را داشته باشید، میتوانید مشخص کنید که اسپایدر کدام یک از موتورهای جستجوگر صفحات سایت را مورد بازدید قرار داده است. یکی از فعالیتهای اصلی که در SEM انجام میشود تحلیل آمار همین دید و بازدیدها است. اسپایدرها کاربردهای دیگری نیز دارند، به عنوان مثال عدهای از آنها به سایتهای مختلف مراجعه میکنند و فقط به بررسی فعال بودن لینکهای آنها میپردازند و یا به دنبال آدرس ایمیل (Email) میگردند.
Crawler (خزنده)
کراولر، نرم افزاری است که به عنوان یک فرمانده برای اسپایدر عمل میکند. آن مشخص میکند که اسپایدر کدام صفحات را مورد بازدید قرار دهد. در واقع کراولر تصمیم میگیرد که کدام یک از لینکهای صفحهای که اسپایدر در حال حاضر در آن قرار دارد، دنبال شود. ممکن است همه آنها را دنبال کند، بعضیها را دنبال کند و یا هیچ کدام را دنبال نکند.
کراولر، ممکن است قبلا" برنامه ریزی شده باشد که آدرسهای خاصی را طبق برنامه، در اختیار اسپایدر قرار دهد تا از آنها دیدن کند. دنبال کردن لینکهای یک صفحه به این بستگی دارد که موتور جستجوگر چه حجمی از اطلاعات یک سایت را میتواند (میخواهد) در پایگاه دادهاش ذخیره کند. همچنین ممکن است اجازه دسترسی به بعضی از صفحات به موتورهای جستجوگر داده نشده باشد.
شما به عنوان دارنده سایت، همان طور که دوست دارید موتورهای جستجوگر اطلاعات سایت شما را با خود ببرند، میتوانید آنها را از بعضی صفحات سایتتان دور کنید و اجازه دسترسی به محتوای آن صفحات را به آنها ندهید. موتور جستجو اگر مودب باشد قبل از ورود به هر سایتی ابتدا قوانین دسترسی به محتوای سایت را (در صورت وجود) در فایلی خاص بررسی میکند و از حقوق دسترسی خود اطلاع مییابد. تنظیم میزان دسترسی موتورهای جستجوگر به محتوای یک سایت توسط پروتکل Robots انجام میشود. به عمل کراولر ، خزش (Crawling) میگویند.
Indexer (بایگانی کننده)
تمام اطلاعات جمع آوری شده توسط اسپایدر در اختیار ایندکسر قرار میگیرد. در این بخش اطلاعات ارسالی مورد تجزیه و تحلیل قرار میگیرند و به بخشهای متفاوتی تقسیم میشوند. تجزیه و تحلیل بدین معنی است که مشخص میشود اطلاعات از کدام صفحه ارسال شده است، چه حجمی دارد، کلمات موجود در آن کدامند، کلمات چندبار تکرار شدهاند، کلمات در کجای صفحه قرار دارند و ... .
در حقیقت ایندکسر، صفحه را به پارامترهای آن خرد میکند و تمام این پارامترها را به یک مقیاس عددی تبدیل میکند تا سیستم رتبه بندی بتواند پارامترهای صفحات مختلف را با هم مقایسه کند. در زمان تجزیه و تحلیل اطلاعات، ایندکسر برای کاهش حجم دادهها از بعضی کلمات که بسیار رایج هستند صرفنظر میکند. کلماتی نظیر a ، an ، the ، www ، is و ... . از این گونه کلمات هستند.
DataBase (پایگاه داده)
تمام دادههای تجزیه و تحلیل شده در ایندکسر، به پایگاه داده ارسال میگردد. در این بخش دادهها گروه بندی، کدگذاری و ذخیره میشود. همچنین دادهها قبل از آنکه ذخیره شوند، طبق تکنیکهای خاصی فشرده میشوند تا حجم کمی از پایگاه داده را اشغال کنند. یک موتور جستجوگر باید پایگاده داده عظیمی داشته باشد و به طور مداوم حجم محتوای آنرا گسترش دهد و البته اطلاعات قدیمی را هم به روز رسانی نماید. بزرگی و به روز بودن پایگاه داده یک موتور جستجوگر برای آن امتیاز محسوب میگردد. یکی از تفاوتهای اصلی موتورهای جستجوگر در حجم پایگاه داده آنها و همچنین روش ذخیره سازی دادهها در پایگاه داده است.
Ranker (سیستم رتبه بندی)
بعد از آنکه تمام مراحل قبل انجام شد، موتور جستجوگر آماده پاسخ گویی به سوالات کاربران است. کاربران چند کلمه را در جعبه جستجوی (Search Box) آن وارد میکنند و سپس با فشردن Enter منتظر پــاسخ میمانند. برای پاسخگویی به درخواست کاربر، ابتدا تمام صفحات موجود در پایگاه داده که به موضوع جستجو شده، مرتبط هستند، مشخص میشوند. پس از آن سیستم رتبه بندی وارد عمل شده، آنها را از بیشترین ارتباط تا کمترین ارتباط مرتب میکند و به عنوان نتایج جستجو به کاربر نمایش میدهد.
حتی اگر موتور جستجوگر بهترین و کامل ترین پایگاه داده را داشته باشد اما نتواند پاسخهای مرتبطی را ارایه کند، یک موتور جستجوگر ضعیف خواهد بود. در حقیقت سیستم رتبه بندی قلب تپنده یک موتور جستجوگر است و تفاوت اصلی موتورهای جستجوگر در این بخش قرار دارد. سیستم رتبه بندی برای پاسخ گویی به سوالات کاربران، پارامترهای بسیاری را در نظر میگیرد تا بتواند بهترین پاسخها را در اختیار آنها قرار دارد.
حرفهایهای دنیای SEM به طور خلاصه از آن به Algo ( الگوریتم) یاد میکنند. الگوریتم، مجموعهای از دستورالعملها است که موتور جستجوگر با اعمال آنها بر پارامترهای صفحات موجود در پایگاه داده اش، تصمیم میگیرد که صفحات مرتبط را چگونه در نتایج جستجو مرتب کند. در حال حاضر قدرتمندترین سیستم رتبه بندی را گوگل در اختیار دارد.
میتوان با ادغام کردن اسپایدر با کراولر و همچنین ایندکسر با پایگاه داده، موتور جستجوگر را شامل سه بخش زیر دانست که این گونه تقسیم بندی هم درست میباشد:
- کراولر
- بایگانی
- سیستم رتبه بندی
تذکر
برای سهولت در بیان مطالب بعدی هر گاه صحبت از بایگانی کردن (شدن) به میان میآید، مقصود این است که صفحه تجزیه و تحلیل شده و به پایگاه داده موتور جستجوگر وارد میشود.
برای آنکه تصور درستی از نحوه کار یک موتور جستجوگر داشته باشید داستان نامتعارف زیر را با هم بررسی میکنیم. داستان ما یک شکارچی دارد. او تصمیم به شکار میگیرد:
کار کراولر
او قصد دارد برای شکار به منطقه حفاظت شده ابیورد، واقع در شهرستان درگز (شمالی ترین شهر خراسان بزرگ) برود.
پروتکل Robots
ابتدا تمام محدودیتهای موجود برای شکار در این منطقه را بررسی میکند:
- آیا در این منطقه میتوان به شکار پرداخت؟
- کدام حیوانات را میتوان شکار کرد؟
- حداکثر تعداد شکار چه میزانی است؟
- و ... .
فرض میکنیم او مجوز شکار یک اوریال (نوعی آهو) را از شکاربانی منطقه دریافت میکند.
کار اسپایدر
او اوریالی رعنا را شکار میکند و سپس آنرا با خود به منزل میبرد.
کار ایندکسر
شکار را تکه تکه کرده، گوشت، استخوان، دل و قلوه، کله پاچه و ... آنرا بسته بندی میکند و بخشهای زاید شکار را دور میریزد.
کار پایگاه داده
بستههای حاصل را درون فریزر قرار داده، ذخیره میکند.
کار سیستم رتبه بندی
مهمانان سراغ او میآیند و همسرش بسته به ذائقه مهمانان برای آنها غذا طبخ میکند. ممکن است عدهای کله پاچه، عدهای آبگوشت، عدهای ... دوست داشته باشند. پخت غذا طبق سلیقه مهمانان کار سختی است. ممکن است همه آنها آبگوشت بخواهند اما آنها مسلما" بامزه ترین آبگوشت را میخواهند!
نکتهها
- شکارچی میتوانست برای شکار کبک یا اوریال و یا هر دو به آن منطقه برود همانطور که موتور جستجوگر میتواند از سرور سایت شما انواع فایل (عکس، فایل متنی، فایل اجرایی و ...) درخواست کند.
- شکارچی میتواند شب به شکار برود یا روز. موتور جستجوگر هم ممکن است شب به سایت شما مراجعه کند یا روز. بنابراین همواره مطمئن باشید که سایت شما آپ است و موتور جستجوگر میتواند در آن به شکار فایلها بپردازد.
- غذای خوشمزه را میتوانید با نتایج جستجوی دقیق و مرتبط مقایسه کنید. اگر شکارچی بهترین شکار را با خود به منزل ببرد اما غذایی خوشمزه و مطابق سلیقه مهمانان طبخ نگردد، تمام زحمات هدر رفته است.
منبع: iranseo.com
استفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.
|