موتور جستجو چگونه کار میکند؟
وقتی جستجویی در یک موتور جستجو انجام و نتایج جستجو ارائه میشود، کاربران در واقع نتیجه همکاری بخشهای متفاوتی از آن را میبینند. موتور جستجو قبلاً پایگاه داده خود را آماده کرده است و اینگونه نیست که درست در همان لحظه جستجو، تمام وب را بگردد تا پاسخی برای پرسش کاربر بیابد. بسیاری از خود میپرسند که چگونه امکان دارد گوگل در کمتر از یک ثانیه تمام سایتهای وب را بگردد و میلیونها صفحه در خروجی خود لیست کند؟
درحقیقت گوگل و هر موتور جستجوی دیگری توانایی انجام چنین کاری را ندارد. همه آنها در زمان پاسخگویی به کاربران، تنها در پایگاه دادهای که در اختیار دارند به جستجو میپردازند و نه در همه وب!
موتور جستجو به کمک بخشهای متفاوت خود، اطلاعات مورد نیاز را قبلاً جمعآوری، تجزیه و تحلیل میکند، آنها را در پایگاه دادهاش ذخیره مینماید و به هنگام جستجوی کاربر، تنها در همین پایگاه داده میگردد. موتور جستجو را میتوان شامل سه بخش اصلی دانست که عبارتاند از:
جمعآوری کننده اطلاعات، اسپایدر
بایگانیکننده دادهها، ایندکسر
تحلیلگر درخواست کاربر
الف ) جمع آوری کننده اطلاعات
جمع آوری کننده اطلاعات (اسپایدر، روبوت یا کراولر)، آن بخش از موتور جستجو است که کار جمعآوری اطلاعات مورد نیاز آن را به عهده دارد. اسپایدر به صفحات مختلف سرمیزند (فضولی کردن در وب)، محتوای آنها را میخواند، اطلاعات مورد نیاز را جمعآوری میکند و در اختیار سایر بخشهای موتور جستجو قرار میدهد.
اسپایدر مشخص میکند که کدام صفحات را مورد بازدید قرار دهد. در واقع تصمیم میگیرد که کدام یک از لینکهای موجود در هر صفحه را دنبال کند. ممکن است همه لینکها را دنبال کند، برخی از آنها را و یا هیچ کدام را دنبال نکند. اسپایدر، ممکن است قبلاً به گونهای برنامهریزی شده باشد که تنها صفحات خاصی از هر سایت را ببیند.
دنبال کردن لینکهای یک صفحه بستگی به میزان تمایل و توانایی موتور جستجو در ذخیره اطلاعات یک سایت در پایگاه داده خود دارد. معمولاً موتورهای جستجو دوست دارند صفحات مهم و مورد نیاز کاربران را بایگانی کنند. اینگونه صفحات نیز در سایتهای مهم و محبوب بیشتر دیده میشود تا سایتهای کمارزش. دقت کنید که گفتم سایتهای کمارزش و نه سایتهای کوچک! سایت کوچک لزوماً کمارزش یا بیارزش نیست. بعداً خواهید آموخت که چگونه سایت خود را مهم جلوه دهید حتی اگر تنها یک صفحه داشته باشد! در واقع بسیاری از سایتها نادانسته خود را بسیار کمتر از آن چه که واقعاً هستند، نشان میدهند!
همچنین ممکن است اجازه مرور و خواندن محتوای بعضی از صفحات به موتورهای جستجو داده نشده باشد. شما به عنوان دارنده سایت، همانطور که دوست دارید موتورهای جستجو اطلاعات سایت شما را با خود ببرند، میتوانید آنها را از بعضی صفحات سایتتان دور کنید و اجازه خواندن و بایگانی کردن محتوای آن صفحات را ندهید. موتور جستجو اگر مؤدب باشد؛ قبل از ورود به هر سایتی ابتدا قوانین دسترسی به محتوای آن را بررسی میکند و از حقوق دسترسی خود اطلاع مییابد.
تنظیم میزان دسترسی موتورهای جستجو به محتوای یک سایت توسط پروتکل و دستوراتی خاص انجام میشود که در بخشهای بعد بررسی شده است.
کار اسپایدر، بسیار شبیه کار کاربران وب است. همانگونه که کاربران، صفحات مختلف را بازدید میکنند، اسپایدر هم درست همین کار را انجام میدهد، با این تفاوت که اسپایدر کدهای سازنده صفحات و کاربران نتیجه حاصل از کنار هم قرار گرفتن این کدها را میبینند.
page1.html، صفحهای است که کاربران آن را به شکل زیر میبینند:
نمونهای از صفحات وب که توسط مرورگرها نشان داده می شود.
اما اسپایدر آن را چگونه میبیند؟
برای این که شما هم بتوانید دنیای وب را از دیدگاه یک اسپایدر ببینید، کافی است که کدهای سازنده صفحات را مشاهده کنید. برای این کار در مرورگر خود، مسیر نشان داده شده زیر را دنبال کنید:
Firefox: View > Page Source (Ctrl+U)
IE: Page > View Source (Ctrl+S)
فراموش نکنید شما باید توانایی کار با هر دو مرورگر فایرفاکس و اینترنت اکسپلورر را به خوبی بدانید و سایت خود را در هر دو مرورگر اشاره شده بازدید و بررسی کنید تا سایت برای اغلب کاربران وب ظاهر مناسبی داشته باشد.
کدهای اچتیامال صفحه page1.html به صورت زیر است:
کدهای اچتیامال یک صفحه وب
آیا این دنیای متنی برای شما جذاب است؟
رد پای اسپایدر به هنگام مشاهده صفحات یک سایت روی سرور آن میماند. شما اگر اجازه دسترسی به آمار دید و بازدیدهای صورت گرفته از یک سایت و اتفاقات انجامشده در آن را داشته باشید، میتوانید مشخص کنید که اسپایدر کدام یک از موتورهای جستجو صفحات سایت را مورد بازدید قرار داده است.
یکی از فعالیتهای مهمی که در بازاریابی با موتورهای جستجو انجام میشود، تحلیل همین دید و بازدیدهاست. در بخشهای آتی کتاب به موضوع تحلیل آمار سایت پرداخته شده است.
ب) بایگانی کننده دادهها
تمام اطلاعات جمعآوری شده توسط اسپایدر در اختیار ایندکسر قرار میگیرد. در این بخش اطلاعات ارسالی مورد تجزیه و تحلیل قرار میگیرند و به تکههای متفاوتی تقسیم میشوند. تجزیه و تحلیل به این معناست که مشخص میشود اطلاعات از کدام صفحه ارسال شده است، چه حجمی دارد، کلمات موجود در آن کداماند، کلمات چندبار تکرار شدهاند و در کجای صفحه قرار دارند، صفحه چه زمانی بروز رسانی شده است و…
در حقیقت ایندکسر، صفحه را به پارامترهای آن خرد میکند و تمام این پارامترها را به یک مقیاس عددی تبدیل میکند تا سیستم رتبهبندی بتواند پارامترهای صفحات مختلف را با هم مقایسه کند. تمام دادهها تجزیه و تحلیل شده، گروهبندی، کدگذاری و ذخیره میشوند. همچنین دادهها قبل از آن که ذخیره شوند، طبق تکنیکهای خاصی فشرده میشوند تا حجم کمی را اشغال کند.
یک موتور جستجو باید پایگاه داده عظیمی داشته باشد و به طور مداوم حجم محتوای آن را گسترش دهد. بزرگی و بروز بودن پایگاه داده یک موتور جستجو برای آن امتیاز محسوب میگردد.
حجم پایگاه داده موتورهای جستجو و روش ذخیرهسازی دادهها در آن، متفاوت است. زمانی رقابت شدیدی در اعلام بزرگی پایگاه داده میان موتورهای جستجو وجود داشت. بعد از آن که گوگل دیگر به ارائه آمار پایگاه دادهاش ادامه نداد، عملاً رقابت به جبهههای دیگری منتقل شد. هر چند بزرگی پایگاه داده امتیاز محسوب میشود اما به نظر میرسد کیفیت در ارائه نتایج جستجو همچنان موردتوجهترین فاکتور برای رقابت است.
ج) تحلیلگر درخواست کاربر
پس از انجام تمامی مراحل گفته شده، موتور جستجو آماده پاسخگویی به کاربران است. آنها چند کلمه را در فیلد جستجو وارد میکنند و سپس با فشردن دکمه جستجو، منتظر پــاسخ موتور جستجو میمانند. برای پاسخگویی به درخواست کاربر، ابتدا تمامی صفحات مرتبط موجود در پایگاه داده، مشخص میشوند. پس از آن عمل رتبهبندی صورت میگیرد. به عبارت دیگر صفحات جمعآوری شده، از بیشترین ارتباط تا کمترین ارتباط با موضوع مطرح شده، به عنوان نتایج جستجو به کاربر نشان داده میشوند.
حتی اگر موتور جستجو بهترین و کاملترین پایگاه داده را داشته باشد اما نتواند پاسخهای مرتبطی ارائه کند، یک موتور جستجوی ضعیف بهشمار میآید. آلتاویستا زمانی مهمترین موتور جستجو در وب بود اما تنها به همین دلیل بازی را به گوگلِ تازهوارد باخت. در حقیقت سیستم رتبهبندی قلب تپنده یک موتور جستجو است. تفاوت اصلی موتورهای جستجو نیز در سیستم رتبهبندی میباشد.
سیستم رتبهبندی برای پاسخگویی به سؤالات کاربران، پارامترهای بسیاری را در نظر میگیرد تا بتواند بهترین پاسخها را در اختیار آنها قرار دهد. به این سیستم رتبهبندی، الگوریتم گفته میشود. الگوریتم، مجموعهای از دستورالعملهاست که موتور جستجو با اعمال آنها بر پارامترهای صفحات موجود در پایگاه دادهاش، تصمیم میگیرد که صفحات مرتبط را چگونه در نتایج جستجو مرتب کند.
در حال حاضر قدرتمندترین سیستم رتبهبندی را گوگل در اختیار دارد. سیستم رتبهبندی گوگل پیجرنک نام دارد که در بخشهای آتی کتاب معرفی شده است.
به طور خلاصه میتوانیم فعالیت موتور جستجو را در سه مورد زیر بگنجانیم:
مراجعه به صفحات و خواندن محتوای آنها
بایگانی اطلاعات خوانده شده
رتبهبندی صفحات متناسب با کلمات جستجو شده
تذکر – از این پس هرگاه گفته شود صفحه بایگانی شده است، مقصود این است که موتور جستجو صفحه را خوانده، تجزیه و تحلیل نموده و آماده نمایش آن در نتایج جستجو است.
منبع: کتاب یک یا دو هزار و یک