موتورهای جستجو

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

 امروزه بر روی اينترنت صدها ميليون صفحه حاوی اطلاعات وجود دارد. کاربران اينترنت با آگاهی از آدرس يک سايت ، قادر به اتصال به سايت مورد نظر و استفاده از منابع اطلاعاتی موجود بر روی سايت خواهند بود. ما با دريائی از اطلاعات مواجه هستيم ، در صورتيکه قصد يافتن اطلاعاتی خاص را داشته باشيم ، از چه امکاناتی در اين زمينه می توان استفاده کرد. ؟ برای جستجو و يافتن اطلاعات مورد نياز از مراکز جستجوی اطلاعات در اينترنت استفاده می گردد . به مراکز فوق Search engines نيز  گفته می شود .
مراکز جستجو در اينترنت ، نوع خاصی از سايت های موجود در وب بوده که با هدف کمک برای يافتن اطلاعات ، ايجاد شده اند. مراکز جستجو در اينترنت به منظور پاسخگوئی به کاربران متقاضی و جستجوکنندگان اطلاعات از سه روش متفاوت استفاده می نمايند. نحوه عملکرد سه روش با يکديگر مشابه بوده و تنها تفاوت موجود ميدان انتخاب شده برای عمليات جستجو است .

  • اينترنت و يا بخشی از آن بر اساس کلمات مهم ، جستجو می گردد.

  • از کلمات پيدا شده يک ايندکس بهمراه محل مربوط به هر يک ، ايجاد می نمايند.

  • به کاربران امکان جستجو برای کلمات خاص و يا ترکيبی از آنها که در فايل ايندکس موجود می باشند ، داده می شود.

مراکز جستجوی اوليه در اينترنت ، صرفا" اطلاعات مربوط به چندين هزار صفحه وب را ايندکس و روزانه دو تا سه هزار کاربر متقاضی به آنها مراجعه می کردند. مراکز جستجوی فعلی در اينترنت اطلاعات مربوط به صدها ميليون صفحه را ايندکس نموده و روزانه به بيش از دهها ميليون متقاضی پاسخ می دهند. 

 وب
 اغلب مردم زمانيکه از مراکز جستجو در اينترنت سخن می گويند ، منظور آنها مراکز جستجوی وب است . قبل از مطرح شدن وب ( مشهورترين بخش اينترنت ) ، از مراکز جستجوی اطلاعات برای کمک به کاربران برای يافتن اطلاعات استفاده می گرديد.  برنامه هائی نظير : " gopher"  و " Archie" از فايل های ذخيره شده بر روی سرويس دهنده های متصل به اينترنت ، يک ايندکس ايجاد می کردند. بدين ترتيب  جستجو و دسترسی به اطلاعات و مستندات مورد نظر در اسرع وقت انجام می گرديد. در اواخر سال 1980 اکثر کاربران مستلزم دارابودن دانش کافی در رابطه با استفاده از gopher,Archie و Veronica بودند. امروزه اکثر کاربران اينترنت دامنه جستجوی خود را محدود به وب نموده اند.
قبل از اينکه يک مرکز جستجو قادر به ارائه آدرس و محل فايل مورد نظر باشد ، می بايست فايل مورد نظر پيدا شود. به منظور يافتن اطلاعات مربوط به صدها ميليون صفحه وب موجود ،  مراکز جستجو می بايست از يک نرم افزار خاص با نام Spider ( عنکبوت ) برای ايجاد ليست های شامل کلمات  موجود در هر يک از صفحات وب ، استفاده نمايند. فرآيند ايجاد ليست های مربوطه توسط  Spider ، اصطلاحا" web crawling ناميده می شود. برای ايجاد و نگهداری يک ليست مفيد از کلمات ، Spider های مراکز جستجو می بايست تعداد زيادی از صفحات وب را بررسی و مشاهده نمايند. نحوه حرکت Spider در وب به چه صورت است ؟ نقاط شروع ، ليستی از سرويس دهندگان با ترافيک و اطلاعات بالا و صفحات وب متداول است . Spider از يک سايت رايج عمليات خود را آغاز و پس از ايندکس نمودن کلمات موجود در صفحات وب  ، هر يک از لينک های موجود در صفحات را برای ادامه حرکت خود انتخاب خواهد کرد. بدين ترتيب سيستم مبتنی بر Spider بسرعت حرکت خود در طول وب را آغاز خواهد کرد.

 Google يکی از مراکز جستجوی دانشگاهی و معتبر است . در سيستم فوق از چندين  Spider  ( معمولا" سه Spider در هر لحظه ) برای ايجاد مقادير اوليه برای سيستم ، استفاده  می گردد .  هر Spider قادر به نگهداری ارتباط خود با بيش از 300 صفحه وب در يک لحظه است . با استفاده از چهار spider ، سيستم فوق قادر به جستجوی 100 صفحه در ثانيه و توليد 600 کيلوبايت اطلاعات در هر ثانيه است .  اطلاعات مورد نياز هر يک از spider ها می بايست بسرعت در اختيار آنان گذاشته شود. سيستم اوليه Google ، دارای يک سرويس دهنده اختصاصی به منظور تغذيه آدرس های URL مورد نياز برای هر يک از Spider ها بود. به منظور افزايش سرعت عمليات ، Google از يک سيستم DNS اختصاصی استفاده می کرد. ( در ساير موارد از DNS مربوط به ISP استفاده می گردد ) . زمانيکه Spider به يک صفحه وب شامل تگ های Html برخورد می نمايد ، دو آيتم در رابطه با آن را ياداشت خواهد کرد :

  • کلمات موجود در صفحه

  • محلی که کلمات پيدا شده اند.

از کلمات موجود در عنوان (title) ، زيرعناوين (Subtitles) ، تگ های متا و ساير مکانهای مهم ياداشت برداشته شده تا در آينده با توجه به خواسته کاربر ، امکان پاسخگوئی مناسب به آنها فراهم گردد.  Spider مربوط به Google ، از کلمات موجود در هر يک از صفحات وب ايندکس ايجاد و کلماتی نظير : "a" ، "an" و "the"  را حذف می نمايند. ساير Spider ها هر يک دارای رويکردهای خاص خود در اين زمينه می باشند.
سياست های استفاده شده در رابطه با نحوه ايندکس نمودن اطلاعات صفحات وب ، مستقيما" بر سرعت عملکرد spider ها تاثير گذاشته و به کاربران امکان جستجوی قدرتمندتر و کارآ را خواهد داد. مثلا" برخی از Spider ها ، علاوه بر نگهداری اطلاعات مربوط به عناوين و لينک ها ،  يکصد کلمه با فرکانس تکرار بيشتر در صفحه وب و کلمات موجود در بيست خط اوليه را نيز نگهداری خواهند کرد. مرکز جستجوی Lycos از رويکرد فوق استفاده می نمايد.
سيستم های ديگر نظير " Altavista ، از روش خاص خود در اين زمينه استفاده می نمايند.  در سيستم فوق برای هر يک از کلمات موجود در صفحه شامل "a"  ، "an" و "the"  و ساير کلمات مشابه نيز ايندکس ايجاد می گردد.

تگ های متا
با استفاده از تگ های متا ، ايجاد کنندگان صفحات وب می توانند کلمات کليدی موجود در صفحه و نحوه ايندکس نمودن آن را مشخص نمايند. روش فوق در موارديکه يک کلمه دارای بيش از يک معنی می باشد بسيار مفيد و کارساز خواهد بود. بدين ترتيب تگ های فوق به مراکز جستجو راهنمائی لازم در خصوص انتخاب معنی مربوط به کلمات مورد نظر را خواهند داد. در اين راستا ممکن است برخی از راهنمائی های انجام شده نيز اغفال کننده بوده و نتايج مثبتی را برای مراکز جستجو بدنبال نداشته باشد. به منظور پيشگيری از راهنمائی های اغفال کننده توسط تگ های متا ، برنامه های Spider عمليات بازبينی محتويات يک صفحه وب را به منظور تطبيق با اطلاعات ارائه شده توسط تگ ها ی متا ،  انجام می دهند. اطلاعات نادرست  ارائه شده  بوسيله  تگ های متا ، توسط Spider ها ناديده گرفته می شود.
تمام موارد فوق مفروض به حالتی است که ايجاد کننده صفحه وب قصد معرفی صفحه ايجاد شده  خود را به مراکز جستجو  دارد. در برخی موارد ممکن است تمايلی به انجام اين کار وجود نداشته باشد.

ايجاد ايندکس
پس از اينکه عمليات Spider ها در رابطه با يافتن اطلاعات به اتمام رسيد ، ( عمليات فوق در عمل با توجه به ماهيت وب و استقرار صفحات وب جديد هرگز به پايان نخواهد رسيد ، بنابراين همواره عمليات جستجو و يافتن اطلاعات توسط Spider ها انجام می گيرد) مراکز جستجو می بايست اطلاعات مورد نظر را بگونه ای ذخيره نمايند که قابل استفاده باشند. دو روش عمده در اين راستا وجود دارد:

  • اطلاعات بهمراه داده ذخيره گردند.

  • با استفاده از روشی اطلاعات ايندکس گردند.

در ساده ترين حالت ، يک مرکز جستجو می تواند صرفا" کلمه و آدرس URL آن را ذخيره نمايد. روش فوق در بازيابی اطلاعات و جستجو توسط کاربران ايجاد محدوديت خواهد کرد. با استفاده از روش فوق نمی توان جايگاه و وزن يک کلمه در يک صفحه وب را مشخص نمود. مثلا" نمی توان تشخيص داد که کلمه مورد نظر چند مرتبه در صفحه تکرار شده و يا لينک های موجود در صفحه نيز شامل کلمه مورد نظر می باشند يا خير . بدين ترتيب امکان ارائه يک ليست از صفحات وب که شامل کلمه مورد نظر بر اساس ميزان تکرار می باشند ، وجود نخواهد داشت .
به منظور ارائه نتايج مفيدتر توسط مراکز جستجو ، اکثر مراکز جستجو صرفا" کلمه و آدرس URL را ذخيره نمی نمايند . در اين حالت مواردی نظير : تعداد تکرار کلمه در صفحه نيز ذخيره خواهد شد. مراکز جستجو همچنين به  هر entry يک وزن را نسبت خواهند داد. وزن نسبت داده شده، نشاندهنده جايگاه کلمه در صفحه است ( ابتدای صفحه ، در لينک ها ، در تگ های متا  و يا در عنوان صفحه ) هر يک از مراکز جستجو برای اختصاص يک وزن مناسب به کلمه مورد نظر از يک فورمول استفاده می نمايند. موضوع فوق يکی از دلايلی است که جستجو يک کلمه توسط دو مرکز جستجو ، نتايج مشابه ای را بدنبال نخواهد داشت . 
مراکز جستجو بدليل استفاده بهينه از فضای ذخيره سازی ، اطلاعات مورد نظر را بصورت رمز شده ذخيره می نمايند. مثلا" در نسخه اوليه سايت Google از دو بايت به منظور ذخيره سازی اطلاعات مربوط به  کلمات در يک صفحه استفاده می کردند. کلمات بصورت حروف بزرگ بهمراه اندازه فونت ، وزن و موقعيت آن ذخيره می گرديد. هر يک از فاکتورهای فوق دو ويا سه بيت از دو بايت اشاره شده را به خود اختصاص می دادند. بدين ترتيب اطلاعات گسترده ای بصورت  فشرده ذخيره و سپس عمليات ايجاد ايندکس انجام می گيرد.
ايندکس دارای صرفا"  يک هدف است : امکان يافتن اطلاعات با سرعت بالا . برای ايجاد ايندکس از روش های متعددی استفاده می گردد. يکی از بهترين روش های موجود ، ايجاد يک جدول Hash است . در روش hashing ، از يک فورمول برای اختصاص يک عدد به يک کلمه استفاده می گردد. توزيع عددی با توزيع کلمات بصورت الفبائی با يکديگر متفاوت بوده و همين امر ، موثر بودن جداول hash را بدنبال خواهد داشت .  در زبان انگليسی حروفی  وجود دارد که کلمات زيادی با آنان آغاز می گردد. مثلا" بخش  حرف "M" ، در يک ديکشنری بمراتب قطورتر از حرف "X" است . بدين ترتيب جستجو و يافتن کلماتی که با حرف M شروع می گردند زمان بمراتب بيشتری نسبت به يافتن کلماتی که با حرف "X" آغاز می گردند ، را طلب می کند. در روش hashing ، با آگاهی  از موارد فوق،  بگونه ای رفتار می گردد که متوسط زمان  بازيابی هر کلمه کاهش يابد. در روش فوق ايندکس از داده واقعی متمايز می گردد. جدول hash ، شامل شماره hash بهمراه اشاره گری است که به داده مورد نظر اشاره می نمايد. با ايجاد يک سيستم ايندکس مناسب و ذخيره سازی مطلوب اطلاعات ، امکان ارائه نتايج مفيد برای کاربران را فراهم خواهد کرد. 

جستجو
کاربران برای جستجوی اطلاعات مورد نياز ، پس از ورود به سايت مرکز جستجو ، يک query را ايجاد می نمايند. query می تواند ساده و صرفا" شامل يک کلمه و يا پيچيده و استفاده از عملگرهای منطقی باشد. برخی از عملگرهای منطقی عبارتند از :

  •  AND .  تمام کلماتی که توسط AND بيکديگر ملحق شده اند ، می بايست در صفحه موحود باشند. در برخی از مراکز جستجو از عملگر "+"  بعنوان عملگر جايگزين AND نيز استفاده می شود.

  • OR  . حداقل يکی از کلماتی که توسط OR بيکديگر ملحق شده اند ، می بايست در صفحه موجود باشد .

  • NOT . کلمه بعد از NOT نبايد در صفحه موجود باشد. برخی از مراکز جستجو از عملگر "-" نيز استفاده می نمايند.

  • Followed by . يکی از کلمات می بايست مستقيما" پس از کلمه ديگر وجود داشته باشد.

آينده مراکز جستجو 
جستجوهائی که توسط عملگرهای منطقی تعريف می گردند از نوع جستجوهای literal می باشند. مراکز جستجو به منظور ارائه نتايج مورد نظر کاربر ، دقيقا"  کلمه و يا کلمات مشخص شده توسط کاربر در بانک اطلاعاتی جستجو می نمايند. روش فوق در موارديکه يک کلمه دارای بيش از يک معنی باشد ، نتايج مثبتی را بدنبال نخواهد داشت . برای اخذ نتايج دلخواه ، کاربران اينترنت می توانند با استفاده از عملگرهای منطقی محدوديت هائی را ايجاد نمايند ، روش مناسب اين است که محدوديت فوق از طريق مرکز جستجو اعمال گردد.
يکی از موارديکه اخيرا" توسط محققين متفاوتی در مراکز جستجو دنبال می گردد ، جستجو بر اساس مفهوم است .در روش فوق با استفاده از آناليزهای آماری بر روی صفحات شامل کلمات سعی در ارائه نتايج مطلوبتری وجود دارد. در برخی موارد ديگر استفاده از زبانهای طبيعی برای جستجو دنبال می گردد. در روش فوق برای طرح سوال خود از يک مرکز جستجو از روشی که توسط انسان برای طرح سوالات مربوطه استفاده می گيرد، استفاده خواهد شد. در اين راستا ضرورتی به استفاده از عملگرهای منطقی و يا query های پيچيده نخواهد بود.

پشتیبانی