بخشی از مقاله
مقدمه :
با پيشرفت بشر در زمينههاي مختلف علمي و افزايش سطح آگاهي انسان دربارة پديدههاي مختلف و البته نياز رو به گسترش ما به دانش و اطلاعات در اين عصر زمينه براي بروز پديدههاي مختلفي كه بتواند خواستههاي علمي و اطلاع رساني انسان را براي برآورده سازد افزايش يافته است . با ساخت كامپيوتر در اواسط قرن گذشته مقداري از نيازهاي انسان برآورده شد با گذشت زمان اين دستگاه در قسمتهاي مختلف جامعه نفوذ كرد و تا امروز كه در جاهايي مانند مراكز نظامي، پزشكي و اداري به وفور استفاده ميشود .
در دهههاي پاياني قرن گذشته با افزايش نيازبه اطلاعات بصورت روزانه گسترش ارتباط بين سازمانها و نهادها . نياز به يك شبكه جهاني احساس شد كه هم اطلاعات به روز شده و فراواني بتواند در آن وجود داشته باشد و هم به سادگي و ارزان در اختيار مردم قرار گيرد . كه اينترنت بر اين اساس شكل گرفت . امروزه اينترنت به سرعت در حال وارد شدن به زندگي مردم است اين رسانه با مطالب فراوان و متنوعي كه دارد توانسته است قشرهاي مختلف مردم را به خود جذب كند .
امروزه عده زيادي از مردم عادي، ادارات دولتي، سازمانها ، … در روز از اينترنت استفاده ميكنند . به همين خاطر به مكانيزمي نياز شد كه كاربران بتوانند امكان جستجو داشته باشند در نتيجه موتورهاي جستجوگر در اين رسانه ايجاد شده است تا بتواند مطالب مورد نظر كاربر را به سرعت پيدا كنند .
موتورهاي جستجو از ابتداي تشكيل خود با امكان جستجوي مطلب در بعضي از سايتهاي اينترنتي قرار گرفتند. اين سايتها با گذشت زمان توانستند مكانيزم جستجوي خود را بهينه و از طرفي گستردهتر كنند . با گسترش استفاده از اينترنت احتياج به موتور جستجوي فارسي بشدت مشاهده ميشد كه اين كار توسط GOOGLE انجام شده است . و ميتوان به كمك آن اطلاعات فراواني را بصورت فارسي در زمينههاي مختلف بدست آورد . گستردگي اين مطالب بقدري زياد است كه پيشنهاد ميشود كه هر كاربر اسم خود را يك بار در موتور جستجو نوشته و نتيجه كار را مشاهده كنند .
سايتهاي موتور جستجو در حال حاضر نيز در حال بهتر كردن الگوريتم جستجوي خود و اضافه كردن كاراييهاي ديگر به سايت خود هستند كه در قسمت پاياني تحقيق آمده است . در اين تحقيق سعي شده است مطالبي راجع به موتورهاي جستجو و انواع آن و نسل
آينده آنها مطالبي آورده شده است .
آرش رخشنده 23/10/1383
موتور جستجوگر چگونه كار مي كند ؟
وقتي جستجويي در يك موتور جستجوگر انجام و نتايج جستجو ارائه ميشود، كاربر در واقع نتيجه كار بخشهاي متفاوت آن موتور جستجوگر را ميبينند .
موتور جستجوگر قبلاً پايگاه دادهاش «Database » را آماده كرده است و اين گونه نيست كه در همان لحظه جستجو، تمام وب را بگردد . بسياري از خود ميپرسند كه چگونه امكان دارد گوگل « Google » در كمتر از يك ثانيه تمام سايتهاي وب را بگردد و ميليونها صفحه را در
نتايج جستجوي خود ارائه كند ؟
نه گوگل و نه هيچ موتور جستجوگر ديگري توانايي انجام اين كار را ندارد. همه آنها در زمان پاسخگوي به كاربران، تنها در پايگاه دادهاي كه در اختيار دارند به جستجو ميپردازند و نه در وب ! موتور جستجوگر به كمك بخشهاي متفاوت خود، اطلاعات مورد نياز قبلاً جمعآوري، تجزيه و تحليل ميكند و آنرا در پايگاه دادهاش ذخيره مينمايد، بخشهاي مجزاي يك موتور جستجوگر عبارتند از :
• Spider يا عنكبوت
• Crawler يا خزنده
• Indexer يا بايگاني كننده
• Database يا پايگاه داده
• Ranker يا سيستم رتبه بندي
الف ـ Spider (عنكبوت)
اسپايدر يا روبوت « Robot » نرم افزاري است كه كار جمعآوري اطلاعات مورد نياز يك موتور جستجوگر را بر عهده دارد . اسپايدر به صفحات مختلف سر ميزند، محتواي آنها را ميخواند و اطلاعات مورد نياز موتور جستجوگر را جمعآوري ميكند و آنرا در اختيار ساير بخشهاي موتور جستجوگر قرار ميدهد.
كار يك اسپايدر، بسيار شبيه كار كاربران وب است. همانطور كه كاربران، صفحات مختلف
را بازديد ميكنند، اسپايدر هم اين كار را انجام ميدهد با اين تفاوت كه اسپايدر كدهاي HTML صفحات را ميبيند اما كاربران نتيجه حاصل از كنار هم قرار گرفتن اين كدها را.
اسپايدر، به هنگام مشاهده صفحات، از خود بر روي سرورها « رد پا بر جاي ميگذارد . شما اگر اجازه دسترسي به آمار ديد و بازديدهاي صورت گرفته از يك سايت و اتفاقات انجام شده در آنرا داشته باشيد، ميتوانيد مشخص كنيد كه اسپايدر كدام موتورهاي جستجوگر صفحات سايت را مورد بازديد قرار دادهاند .
اسپايدرها كاربردهاي ديگري نيز دارند، به عنوان مثال عدهاي از آنها به سايتهاي مختلف مراجعه ميكنند و فقط به بررسي فعال بودن لينكهاي آنها ميپردازند و يا به دنبال آدرس پست الكترونيكي « Email » افراد ميگردند .
ب ـ Crawler (خزنده )
كراولر، نرم افزاري است كه به عنوان فرمانده براي اسپايدر عمل ميكند. كراولر مشخص ميكند كه اسپايدر كدام صفحات را مورد بازديد قرار دهد. در واقع كراولر تصميم ميگيرد كه كدام يك از لينكهاي صفحهاي كه اسپايدر در حال حاضر در آن قرار دارد، دنبال شود. ممكن است همه آنها را دنبال كند، بعضيها را دنبال كند و يا هيچ كدام را دنبال نكند .
كراولر، ممكن است قبلاً توسط دارندگان موتورهاي جستجوگر برنامهريزي شده باشد كه آدرسهاي خاصي را طبق برنامه در اختيار اسپايدر قرار دهد تا از آنها ديدن كند .
دنبال كردن لينكهاي يك صفحه به اين بستگي دارد كه موتورهاي جستجوگر چه حجمي از اطلاعات يك سايت را ميتواند در پايگاه دادهاش ذخيره كندو همچنين ممكن است اجازه دسترسي به عضي از صفحات به موتورهاي جستجوگر داده نشده باشد.
شما به عنوان دارنده سايت، همان طور كه دوست داريد موتورهاي جستجوگر اطلاعات شما را با خود ببرند، ميتوانيد آنها را از بعضي از صفحات سايتتان دور كنيد و اجازه دسترسي به محتواي آن صفحات را به موتورهاي جستجوگر ندهيد .
تنظيم ميزان دسترسي موتورهاي جستجوگر به محتواي يك سايت توسط پروتكل Robots انجام ميشود . به عمل كراولر، خزش (Crawling ) ميگويند.
ج ـ Indexer ( بايگاني كننده )
تمام اطلاعات جمعآوري شده توسط اسپايدر در اختيار ايندكسر قرار ميگيرد . در اين بخش اطلاعات ارسالي مورد تجزيه و تحليل قرار ميگيرند و به بخشهاي متفاوتي تقسيم ميشوند . تجزيه و تحليل بدين معني است كه مشخص ميشود اطلاعات از كدام صفحه ارسال ت در كجاي صفحه قرار دارند و… .
در حقيقت ايندكسر صفحه را به پارامترهاي آن خرد ميكند و تمام اين پارامترها را به يك مقياس عددي تبديل ميكند تا سيستم رتبه بندي بتواند پارامترهاي صفحات مختلف را با هم مقايسه كند.
در زمان تجزيه و تحليل اطلاعات، ايندكسر براي كاهش حجم دادهها از عضي كلمات كه بسيار رايج هستند صرفنظر ميكند. كلماتي نظير a ، an ، the ، www ، is و … از اين گونه كلمات هستند .
د ـ Database ( پايگاه داده )
تمام دادهها تجزيه و تحليل شده در ايندكسر، به پايگاه داده ارسال ميگردد. در اين بخش، دادهها گروهبندي، كدگذاري، و ذخيره ميشود . هنچنين دادهها قبل از آنكه ذخيره شوند، فشرده ميشوند تا حجم كمي را اشغال كنند.
يك موتور جستجوگر بايد پايگاه داده عظيمي داشته باشد و به طور مداوم حجم محتواي آنرا گسترش دهد و البته اطلاعات قديمي را هم به روز كند. بزرگي و به روز بودن پايگاه داده يك موتور جستجوگر براي آن امتياز محسوب ميگردد. يكي از تفاوتهاي اصلي موتورهاي جستجوگر در حجم پايگاه داده آنها و همچنين روش ذخيره سازي داده است .
و ـ Ranker ( سيستم رتبه بندي )
بعد از آنكه مراحل قبل انجام شد، موتور جستجوگر آماده پاسخگويي به سئوالات كاربران است. كاربران چند كلمه را در جعبه جستجوي « Search Box » آن وارد ميكنند و سپس با فشردن Enter منتظر پاسخ ميمانند . در اين مرحله، سيستم رتبه بندي وارد عمل ميشود و ابتدا تمام صفحات موجود در پايگاه داده، كه به موضوع جستجو شده، مرتبط هستند را مشخص ميكند . سپس آنها را به ترتيب از بيشترين ارتباط تا كمترين ارتباط مرتب ميكند و در نتايج جستجو به كاربر ارائه ميكند .
حتي اگر موتور جستجو گر بهترين و كاملترين پايگاه داده را داشته باشد اما نتواند پاسخهاي مرتبطي را ارائه كند، يك موتور جستجوگر ضعيف خواهد بود .
سيستم رتبهبندي قلب تپنده يك موتور جستجوگر است و تفاوت اصلي موتورهاي جستجوگر در اين بخش قرار دارد. سيستم رتبه بندي براي پاسخگويي به سئوالات كاربران، پارامترهاي بسياري را در نظر ميگيرد تا بتواند بهترين پاسخها را در اختيار آنها قرار دهد.
الگوريتم ، مجموعهاي از دستورالعملها است كه موتور جستجوگر با اعمال آنها بر پارامترهاي صفحات موجود در پايگاه دادهاش ، تصميم ميگيرد كه صفحات مرتبط را چگونه در نتايج جستجو ، مرتب كند . در حال حاضر قدرتمندترين سيستم رتبهبندي را گوگل دراختيار دارد .
البته ميتوان با ادغام كردن وظيفههاي اسپايدر با كراولر و همچنين ايندكسر با پايگاه داده موتور جستجوگر را شامل سه بخش زير دانست كه اين گونه تقسمبندي هم درست ميباشد :
• كراولر
• بايگاني
• سيستم رتبهبندي
تذكر ـ براي سهولت در بيان مطالب بعدي هرگاه صحبت از بايگاني كردن ( شدن ) به ميان ميآيد ، مقصود اين است كه صفحه تجزيه و تحليل و به پايگاه داده موتور جستجوگر وارد ميشود .
براي آنكه تصور درستي از نحوه كار يك موتور جستجوگر داشته باشيد مثال غير متعارف زير را با هم بررسي ميكنيم .
ـ كار كراولر:
او قصد دارد براي شكار به منطقه حفاظت شده ابيورد ، در شهرستان درگز ( شمال خراسان ) برود .
ـ پروتكل Robots :
ابتدا تمام محدوديتهاي موجود براي شكار در اين منطقه را بررسي ميكند :
آيا در اين منطقه ميتوان به شكار پرداخت ؟
كدام حيوانات را ميتوان شكار كرد ؟
حداكثر تعداد شكار چه ميزاني است ؟
و… .
فرض ميكنيم او مجوز شكار يك اوريال ( نوعي آهو ) را دريافت ميكند .
ـ كار اسپايدر :
او اوريال رعنا را شكار ميكند و سپس آنرا به منزل ميبرد .
ـ كار ايندكسر :
شكار را تكهتكه كرده ، گوشت ، استخوان ، دل و قلوه ، كله پاچه و … آنرا بستهبندي ميكند و بخشهاي زايد شكار را دور مياندازد .
ـ كار پايگاه داده :
بستههاي حاصل را درون فريزر قرار داده ، ذخيره ميكند .
ـ كار سيستم رتبهبندي :
مهمان سراغ او ميآيد همسر او بسته به ذائقه مهمانان براي آنها غذا طبخ ميكند ، ممكن است عدهاي كله پاچه ، عدهاي آبگوشت ، عدهاي جگر و … دوست داشته باشند . پخت غذا طبق سليقه مهمانان كار سختي است . ممكن است همه آنها آبگوشت بخواهند اما آنها مسلماً با مزهترين آبگوشت را ميخواهند !
انواع موتورهاي جستجوگر :
موتورهاي جستجوگر( با درجات متفاوتي از موفقيت ) در واقع يك كار انجام ميدهند :
فراهم آوردن يك وسيله جستجوي ساده براي كمك به كاربران در رسيدن به اطلاعات مورد نياز .
براي نيل به اين مهم ، موتورهاي جستجوگر از اطلاعات موجود در پايگاه دادهشان كمك ميگيرند . اطلاعات اين پايگاه داده نيز به روشهاي گوناگوني تامين ميشود . كار جمعآوري داده را اسپايدرها بر عهده دارند . اما آيا همه موتورهاي جستجوگر ، اسپايدر دارند ؟ آيا همه اسپايدرها مثل هم كار ميكنند ؟
با توجه به نوع جمعآوري اطلاعات ، شيوه ارائه نتايج و مواردي ديگر ، موتورهاي جستجوگر به انواع گوناگوني تقسيم ميشوند كه عبارتند از :
• Saerch Engine
• Directory
• Meta Search Engine
• Pay Per Click Search Engine
• Specialty Search Engine
الف ـ Saerch Engine يا موتورهاي جستجوگر
در اين نوع از موتورهاي جستجوگر ، كار جمعآوري اطلاعات بر عهده اسپايدرها است . در حالت كلي زماني كه صحبت از موتورهاي جستجوگر ميشود ، مقصود ، اين نوع آن است .
پايگاه داده اين نوع از موتورهاي جستجوگر بزرگتر از ساير انواع است و اطلاعاتي را كه آنها ارائه ميدهند ، معمولاً به روزتر ميباشد . عمليات به روز رساني و گسترش پايگاه داده موتورهاي جستجوگر از يك هفته تا چند ماه به طول ميانجامد .
اسپايدرها ، هيچگاه از كار نميايستند و به طور مداوم به جمعآوري اطلاعات مشغول هستند. ممكن است اطلاعات جمعآوري شده توسط اسپايدرها از صفحات جديدي باشد و يا اطلاعات به روز شده از صفحاتي بشد كه قبلاً هم به آنها مراجعه كردهاند .
وقتي كه صحبت از تكنيكهاي بهينهسازي رتبه سايتها ميشود در واقع تكنيكهايي مطرحاند كه براي كار با اين نوع ازموتورهاي جستجوگر مؤثرند . بعضي از اين نوع موتورهاي جستجوگر عبارتند از :
Googole , MSN , Altavista , NorthernLight , WiseNut , Teoma …
ب ـ Directory يا فهرست
دايركتوريها اطلاعات را در گروههاي مختلف دستهبندي ميكنند . تفاوت اصلي دايركتوري با يك موتورهاي جستجوگر در اين است كه دايركتوري اسپايدر ندارد .
دارندگان سايتها به دايركتوري مراجعه ميكنند ، گروه مناسب براي سايت خود را در آن بر ميگزينند و سايت خود را به آن گروه معرفي ميكنند . پس از آنكه اطلاعات سايتها به گروههاي مختلف ارسال شد ، ويراستاران دايركتوري آن اطلاعات را بررسي ميكنند . در صورتي كه گروه درخواست شده ، با زمينه فعاليت سايت معرفي شده يكي باشد و همچنين ساير قوانين دايركتوري نيز رعايت شده باشد ، سايت معرفي شده را در گروه ياد شده ميپذيرد و در غير اينصورت از قبول آن امتناع ميكنند.
در صورتي كه كاربران استفاده درستي از گروه دايركتوري بنمايد ميتوانند اطلا
عات مفيدي رابه كمك آنها كسب كنند .
دايركتوري از وجود يك سايت مطلع نميگردد مگر زماني كه آن سايت به دايركتوري معرفي شود تا در يكي از گروههاي آن قرار گيرد .
يكي از ايراداتي كه به دايركتوريها وارد ميشود اين است كه سايتهاي مرده زيادي در خود دارند . به عبارت ديگر يك سايت بعد از آنكه به آن معرفي شده است ديگر به فعاليت خود ادامه نداده است اما با اين حال هنوز هم دايركتوري آن به عنوان يك سايت فعال به كاربران معرفي ميكند .
البته دايركتوريهاي حرفهاي با استخدام ويراستاران زيادي تلاش بسياري براي رفع اين نقص مينمايند .امكان دارد دايركتوريها براي بررسي اين مورد از اسپايدرها هم كمك بگيرند .در اين مورد خاص ، كار اسپايدر اين است كه بررسي كند كه آيا سايتهايي كه قبلاً در گروهها قرار گرفتهاند ،هنوز هم فعال ميباشند ؟
قرار گرفتن در پايگاه داده دايركتوريهاي عمده ، نقش مهمي در كسب رتبههاي بالا در موتورهاي جستجوگر ( نوع اول ) دارد . دايركتوريهاي عمده عبارتند از :
Yahoo , Look Smart , Dmoz
ج ـ Meta Search Engine يا ابر جستجوگر
ابر جستجوگر از نتايج ساير موتورهاي جستجوگر استفاده ميكند . كار بدين صورت است كه سئوالات كاربران را همزمان به موتورهاي جستجوگر مختلفي ارسال و نتايج جستجوي آنها را بررسي ميكند و در نهايت رتبههاي بالاي آنها را با اعمال پارمترهاي مورد توجه الگوريتم رتبهبندي خود ، به عنوان نتايج جستجوي خود نشان ميدهد .اين نوع موتور جستجوگر اسپايدر ندارد .