یک موتور جستجو چگونه کار میکند ؟


یک موتور جستجو چگونه کار میکند ؟

یک موتور جستجو چگونه کار میکند ؟

ارسال شده در تاریخ : 15 تير، 1394 | توسط : محسن ساروقی

1-یک دنبالگرد crawler که صفحات وب را پیدا می کند تا داخل مجموعه صفحات وب آن موتور قرار گیرد،

2- یک شاخص گذار indexer که شاخص معکوس inverted index  (نیز موسوم به شاخصindex  )را که ساختمان اصلی داده های مورد استفاده ی آن موتور جست وجو است و صفحات وب دنبال گشته crawled را ارائه می کند ،

 3-یک پاسخ دهنده که پرس و جو های کاربر را با استفاده از شاخصها پاسخ می دهد .

موتورهای جستجو چگونه کار می کنند؟

هیچ تا به حال از خودتان پرسیده اید که وقتی با یک موتورجستجوی قوی مثل گوگل ( google) کار میکنیدو یا وارد کردن یک یا چند لغت عجیب و غریب ،گوگل کلی نتایج جالب ومرتبط ،تقدیمتان می کند، چه اتفاقی می افتد ؟


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

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

پیش پردازش دادها


یکی از راههایی که موتورهای جستجو ، برای کاهش زمان جستجو به کار می برند ، پیش پرداش محتوای وب سایت هاست .به این ترتیب که وقتی کاربر درخواست یک پرس و جو را می دهد .به جای این که این پرس وجو به میلیون ها وب سایت فرستاده شود، با داده از پیش پردازش شده در یک سایت مقایسه می شود و مطابقت صورت می پذیرد. پیش پردازش به کمک برنامه نرم افزاری به نام crawlerانجام می گیرد.

Crawler ، به وسیله نگهدارنده ها و به روزکنندگان بانک های اطلاعاتی فرستاده می شود تا فهرست صفحات وب را جمع آوری کند. یک برنامه ویژه رایانه ای، صفحات بازیافتی را پیمایش می کند تا کلمات را استخراج نماید و بعد این کلمات همراه با لینکی به صفحه مربوط ،در فایل شاخص (index)ذخیره می شود. پرس و جو های کاربران با همین فایل شاخص مقایسه و مطابقت داده می شود ونه با دیگر وب سایت ها.


الویت بندی نتایج


Url یا لینیک هایی که به عنوان نتایج جستجو تولید می شوند معمولا خیلی زیاد هستند ،اما همه این نتایج به درد بخور نیستند و حتی ممکن است عواملی مثل ابهام زبان باعث شود نتایج مناسبی به کاربر داده نشود .برای فراهم کردن دسترسی سریع و در عین حال صفحات مناسب و این که صفحات با موضوعیت بیشتر در الویت بالاتری قرار بگیرتد ،الگوریتم های جستجو استراتژی های رتبه بندی مختلفی رابه کار می برند .


یکی از این روش ها که بسیار معمول است ، tfidf(term frequency inverse document trequncy)  است. در این روش چگونگی توزیع کلمات و تکرار آنها بررسی می شود و برای کلمات، وزن عددی تولیدمی شود . این وزن به معنی درجه اهمیت و اعتبار آنها در اسناد مختلف است.به این کار وزن دهی واژه(term weighting)گفته می شود.وزن یک واژه به 2 عامل بستگی دارد: یکی دفعات تکرار واژه که هر چه بیشتر با شد اهمیت واژه بیشتر است و دیگری تواتر اسناد که به معنی تعداد اسنادی است که شامل آن واژه است و هر چه این مقدار بیشتر باشد ،اهمیت واژه در تمایز اسناد کمتر خواهد بود .به این ترتیب کلماتی که تکرار بیشتری دارند مثل or , to,withو...نسبت به کلماتی که از نظرمعنایی مناسب ترند و از طرف دیگر در متنهای کمتری ظاهر می شوند ،وزن کمتری خواهند داشت ؛البته عوامل دیگری می توانند بر وزن (اهمیت)یک واژه موثر باشند .محل وقوع واژه نمادهای خاص مثل (font) و برچسب(tag) مربوط به واژه از آن جمله اند. معمولا کلمه ای که در عنوان یک سند باشد مهمتر از واژه های خود متن است. همچنین واژ ه های خود متن است.همچنین واژه های نوشته شده با قلم خاص مهمتر از کلماتی است که بدون این ویژگی ها باشند.


علاوه بر وزن دهی واژه ها ،صفحات وب با استراتژی های دیگری هم وزن می شود؛مثلا در روش تحلیل لینک(Link analysis) ماهیت هر صفحه با توجه به ارتباط آن با دیگر صفحات در نظر گرفته می شود.به این ترتیب وزن دهی یک صفحه با توجه به تعداد صفحاتی که به آن صفحه اشاره می کنند یا بعکس،تعداد صفحاتی که آن صفحه به آنها اشاره می کند،صورت میپذیرد.گوگل از این روش برای بالا بردن نتایج جستجو استفاده می کند.


موقعیت و مسافت

 
اصطلاحCaching درباره موتورهای جسجو هم کاربرد دارد. به این ترتیب که پرس وجو هایی که بتازگی از سوی کاربران وارد شده ،در جایی نگهداری یا به اصطلاح Cache می شود و پرس و جوی کاربر پس از ارسال به موتور جستجوبه کار می رود. در واقع وقتی موتور جستجو املای صحیح کلمه را به شما اعلام می کند (Did you mean) از این تکنیک بهره می برد.
استفاده از مدل تحویل توزیع شده (distributed delivery) راه دیگری برای سرعت دادن پاسخ گویی به درخواست های کاربران است .در این مدل کپی هایی از شاخص ها ومطالب مربوط تولید می شود وبه مکان های جغرافیایی متعددی انتقال می یابد .


مشکلات

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

pagejacking یکی دیگر از این حیله هاست .این حیله از یکی از ویژگی های نرم افزارهای وب سرورها،سوء استفاده می کند .وب سرورها برای اینکه تعداد درخواستهای یکیان بیشتری را در یک زمان پاسخ دهند ،(مثلا چند کاربر همزمان بخواهند به یک صفحه دسترسی پیدا کنند )مطالب هر صفحه را روی چند رایانه(با نشانی های مختلف که از دید کاربر مخفی است)قرار می دهند و درخواست کاربران را به این رایانه ها هدایت می کنند .بعضی سایت ها از این ویژگی نرم افزار استفاده و محتوای صفحات یک سایت را کپی می کنند و در سایت خود قرار می دهند . این صفحات هم به وسیله موتورهای جستجو ،شاخص دهی می شود و در خواست بعضی کاربران به جای صفحه اصلی به این صفحات تقلبی ارجاع داده می شوند .به این ترتیب یک موتور جستجوی خوب علاوه بر جستجو و سرویس دهی خوب به کاربر باید توانایی تشخیص جمله های اینترنتی را هم داشته باشد تا بتواند بهترین و صحیح ترین نتایج ممکن را در اختیار کاربران قرار دهد.

شاخص گذاری:

 همه شاخص ها بر اساس یک مفهوم اصلی واحد عمل می کنند: کلیدها و آدرس فیلدها.

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

 چون شاخص ها به طور غیر مستقیم عمل می کنند ، بدون دستکاری محتویات فایل ،به فایل نظم و ترتیب می بخشند.

 کاتالوگ کارتی در واقع مجموعه ای از سه شاخص است که هر کدام از یک فیلد کلید متفاوت استفاده می کنند و همه انها از یک شماره کاتالوگ یکسان به عنوان فیلد آدرس بهره می گیرند.

 بنابراین کاربرد دیگر شاخص بندی این است که می توان از طریق مسیرهای گوناگونی به فایل دست یافت.

 در جستجوی دودویی لازم است امکان پرش به وسط فایل را داشته باشیم.

راه دیگر برای مرتب سازی ، ایجاد شاخص برای فایل است.

ساختار شیء شاخص بسیار ساده است.

این ساختار لیستی است که هر عنصر آن دو فیلد دارد:

 یک فیلد کلید و یک فیلد برای آفست بایت.

عملیاتی که برای یافتن داده های مورد نظر ،از طریق شاخص لازمند عبارتند از :

 ۱) ایجاد فایل داده ها و شاخص خالی اولیه

 ۲) باز کزدن فایل شاخص در حافظه ،قبل از به کارگیری آن

 ۳) نوشتن فایل شاخص بر روی دیسک ،پس از به کارگیری آن

 ۴) افزودن رکوردهایی به فایل و داده ها

 ۵) حذف رکوردها از فایل داده ها

 ۶) بهنگام کردن رکوردها در فایل داده ها

 ۷) بهنگام کردن شاخص برای انعکاس تغییرات به عمل آمده در فایل داده ها.

مزیت بزرگی که روش شیء گرا دارد آن است که برای اجرای این عملیات به هرچه نیاز داشته باشیم می توانیم در متدهای کلاس خود بیابیم.

در ایجاد فایل ها باید دو فایل ایجاد شوند :

 ۱) فایل داده ها برای نگهداری اشیای داده ای 

 ۲) فایل شاخص برای نگهداری شاخص کلید اولیه

 بهنگام سازی رکوردها به دو صورت انجام می شود :

 ۱) بهنگام سازی ،تعداد فیلد و کلید را تغییر می دهد.

 ۲) بهنگام سازی ،در فیلد و کلید تأثیر نمی گذارد.

آشکارترین بهینه سازی ،استفاده از جستجوی دودویی در متد find  است که توسط :

 insert , search  و remove به کار گرفته می شود.

 منبع دیگر بهینه سازی ،چنانچه رکورد شاخص تغییر نکرده باشد ، نوشتن درباره رکورد شاخص در فایل شاخص است.

دستیابی به شاخص روی دیسک دارای معایب زیر است :

 ۱) جستجوی دودویی شاخص به جای آنکه با سرعت حافظه صورت پذیرد ،نیاز به چندین پیگرد دارد.

 ۲) ترتیب مجدد شاخص که از حذف یا افزودن رکورد ناشی می شود نیاز به جابه جا کردن یا مرتب سازی رکوردها در حافظه ثانویه دارد که این کار میلیونها بار گران تر از اجرای این عملیات در حافظه است.


هرگاه یک شاخص ساده در حافظه جا نشود باید از موارد زیر استفاده کرد :

 ۱) در صورتی که سرعت دستیابی در اولویت قرار داشته باشد ،از سازماندهی درهمسازی استفاده شود.

 ۲) در صورتی که به هر دو نوع دستیابی کلیدی و ترتیبی نیاز داشته باشید ،از یک شاخص چند سطحی با ساختار درختی نظیر درخت B استفاده شود.

 شاخص های ساده نسبت به استفاده از فایل داده ای که بر حسب کلید مرتب شده اند مزایای چشمگیری دارد :

 ۱) شاخص ساده استفاده از جستجوی دودویی را برای دستیابی کلیدی به یک رکورد در فایلی که طول رکوردهای آن متغیر است امکان پذیر می سازد.

 ۲) اگر ورودی های شاخص بسیار کوچکتر از رکوردهای فایل داده ها باشد ،مرتب سازی و نگهداری شاخص نسبت به مرتب سازی و نگهداری فایل داده ها زمان کمتری می برد.

 ۳) اگر در فایل داده ها رکوردهایی وجود دارند که در جای خود مستقر هستند ،با استفاده از شاخص می توان ترتیب کلیدها را بدون جابجایی رکوردهای داده ها عوض کرد.

 هنگامیکه شاخص ثانویه ای موجود باشد ،افزودن یک رکورد به فایل به معنای افزودن یک ورودی شاخص ثانویه است. زمان لازم برا انجام این کار بسیار مشابه زمان لازم برای افزودن ورود یی به شاخص اولیه است.

 یک اختلاف مهم شاخص ثانویه و شاخص اولیه آن است که شاخص ثانویه می تواند حاوی کلیدهای دوگانه باشد.

 حذف یک رکورد معمولاً به معنای حذف تمامی آدرس های آن رکورد در سیستم فایل است.

 بنابراین حذف رکوردی از فایل داده ها نه تنها به معنای حذف ورودی مربوط در شاخص اولیه بلکه به معنای حذف همه ورودی های موجود در همه شاخص های ثانویه ای است که به این ورودی از شاخص اولیه رجوع می کنند.

 مشکل این است که شاخص های ثانویه همانند شاخص اولیه به ترتیب کلیدها نگهداری می شوند. در نتیجه حذف یک ورودی شامل ترتیب مجدد ورودی های موجود ،به منظور بستن فضای باقیمانده از حذف است.

 بهنگام سا زی فایل داده ها فقط هنگامی شاخص ثانویه را تحت تأثیر قرار می دهد که کلید اولیه یا ثانویه تغییر یابند. که سه وضعیت ممکن است پیش بیاید :

 ۱) بهنگام سازی باعث تغییر کلید ثانویه می شود.

 ۲) بهنگام سازی باعث تغییر کلید اولیه می شود.

 ۳) بهنگام سازی محدود به فیلدهای دیگر

ساختارهای شاخص ثانویه ای که تا کنون ارائه کردیم دو مشکل دارند :

۱) هربارکه رکورد جدیدی به فایل افزوده می شود ،باید فایل شاخص را دوباره مرتب کنیم ،حتی اگر رکورد جدید به یک کلید ثانویه موجود مربوط باشد.

۲) اگر کلیدهای ثانویه وجود داشته باشد ،فیلد کلید ثانویه برای هر ورودی تکرار می شود. این کار باعث هدر رفتن فضا می شود.

فایل با ساختار ترتیبی شاخص دار Indexed Sequential:

 

شاخص ها بر مبنای کلیدها و آدرس فیلدها ساخته می شوند. شاخص باعث بالا رفتن سرعت دستیابی می گردد و تکنیک شاخص بندی در اکثر نرم افزارهای امروزی استفاده می شود و جزو شیوه های دستیابی تصادفی به حساب می آید و شاخص هایی که در این جا بررسی می شود، از نوع شاخص ساده هستند.

مثال: فایل ترتیبی دانشجویان در زیر برحسب شماره دانشجویی مرتب شده می باشد که در کنار این فایل ترتیبی یک فایل ایندکس (شاخص) برحسب کلید اصلی (شماره دانشجویی) و یک فایل ایندکس برحسب معدل ترسیم شده است.

 

 

فایل ترتیبی

فایل ایندکس معدل

فایل ایندکس اولیه

شماره رکورد

معدل

نام پدر

نام

شماره دانشجویی

 

شماره رکورد

معدل

 

شماره رکورد

شماره دانشجویی

1

17

سعید

علی

3925

4

15

1

3925

2

19

مجید

حسن

4713

3

16

2

4713

3

16

شاهین

امیر

5417

2

17

3

5417

4

15

سهیل

جواد

7354

1

19

4

7354

...

...

...

...

...

...

...

...

...

 

حال اگر مثلا بخواهیم مشخصات دانشجویی با معدل 19 را ببینیم کافی است ابتدا در فایل کوچک ایندکس معدل، با روش باینری ستون سمت چپی را به دنبال عدد 19 جست و جو کنیم بدین ترتیب متوجه خواهیم شد که مشخصات این دانشجو در سطر 2 فایل ترتیبی اصلی قرار دارد لذا به سرعت بر سر رکورد 2 فایل اصلی رفته و اطلاعات مورد نیاز را می خوانیم. بدون این فایل کمکی شاخص مجبور بودیم با جست و جوی خطی در فایل اصلی آن را پیدا کنیم که کاری زمان گیر بود.

در مثال ساده ی فوق تعداد سطرهای فایل شاخص برابر سطرهای فایل اصلی می باشد ولی تعداد ستون ها آن تنها 2 فیلد است. بدین دلیل فایل شاخص به مراتب کوچک تر از فایل اصلی بوده و جست و جو در آن سریع تر صورت می گیرد. حتی در صورتی که فایل ایندکس خیلی کوچک باشد می توان آن را در حافظه ی اصلی نگهداری کرد و بدین ترتیب سرعت جست و جو افزایش بسیار زیادی می یابد.

اگر در فایل ایندکس صفت خاصه ی شاخص، کلید اصلی باشد به آن شاخص اولیه یا اصلی می گویند (Primary Index). و در صورتی که فایل ایندکس بر اساس فیلدی غیر از کلید اصلی ساخته شود به آن شاخص ثانویه گویند (Secondary Index).

پس فایل شاخص مجموعه ای از تعدادی مدخل (Entry) می باشد

اگر هر مدخل فایل شاخص به یک رکورد اشاره کند، شاخص را متراکم (Dense Index) گویند و اگر به گروهی از رکوردها مثلا یک بلاک اشاره کند، شاخص را غیر متراکم (Non Dense Index) گویند.

در شاخص غیر متراکم فایل اصلی داده ای باید بر اساس فیلد متناظر شاخص مرتب شده باشد تا رکوردها را بتوان دسته بندی کرد ولی در شاخص متراکم لزومی نیست که فایل داده ای از قبل مرتب باشد. فایل داده‌ای و فایل شاخص می توانند بلاک بندی شده باشند یا نشده باشند. در حالت بلاک بندی شده اغلب اندازه ی بلاک فایل شاخص و بلاک فایل داده ای یکسان است. در شاخص نا متراکم مقدار موجود در فیلد داده هر مدخل میتواند کوچک ترین یا بزرگ ترین مقدار در هر گروه باشد.

تعریف ظرفیت نشانه روی شاخص (Index fdnout):

فایل شاخص نیز مثل فایل داده ای بلاک بندی شده است. تعداد مدخل های یک بلاک شاخص را ظرفیت نشانه روی آن می گویند. در واقع همان فاکتور بلاک بندی است برای بلاک شاخص و با پارامتر y آن را نمایش می دهند.

هرچه تعداد سطوح بیشتر باشد دفعات دستیابی برای واکشی رکورد بیشتر خواهد بود.

اینقدر ادامه می دهیم تا حداقل به یک بلاک برسیم و این کار را موقعی انجام می دهیم که فایل دارد ساخته می شود و شاخص هایش را می سازیم.

ساختار فایل چند شاخصی Multi Indexed:

 

اهمیت این ساختار به خاطر این است که %70 الی %80 ساختار بانک های اطلاعاتی با این ساختار است.

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

سه ایراد عمده داشت: 1ـ ایستا بودن شاخصها بود. 2ـ عدم تقارن بود. 3ـ مسئله سر ریزی بود.

و برای رفع این معایب: در فایل های چند شاخصی روش کار به این صورت است که یک فایل داریم به اسم فایل غیر اصلی و غیر ترتیبی است و حتی می تواند یک فایل پایل باشد.

فایل اصلی، غیر ترتیبی یا پایل میتواند باشد

شاخص متراکم، شاخص به همه ی رکوردها داریم.

شاخص دینامیک است، شاخص همراه تغییر رکوردها تغییر می کند.

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

از آن جا که در یک رکورد به طور متوسط، a' تا صفت خاصه وجود دارد، لذا به یک رکورد a' ساختار شاخص ناظر است. پس این ساختار در اساس از نظر فایل داده ای همان پایل است اما مجهز به یک سری استراتژی دستیابی قوی، پویا و سریع.

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

ضابطه ی انتخاب صفات خاصه ی شاخص: لزومی ندارد که روی تمام صفات خاصه، شاخص ایجاد نمود، می توان بین صفات خاصه قائل به اولویت شد و آن صفاتی را برگزید که در بیشترین درخواست ها به عنوان آرگومان جست و جو به کار برده می شوند.

اجزاء ساختار ترتیبی شاخص دار عبارتند از: ناحیه اصلی، ناحیه سر ریزی، مجموعه شاخص ها.

در فایل چند شاخصی داریم: هرچه تعداد صفات خاصه شاخص بیشتر باشد، عمل بازیابی کارآتر است و هرچه تعداد صفات خاصه شاخص بیشتر باشد، عدم تقارن کمتر است و ساختار فایل داده ای اصلی می تواند پایل باشد و ایجاد شاخص روی ترکیبات مختلف صفات خاصه امکان پذیر است.

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

در فایل چند شاخصی می توان بین صفات خاصه اولویت قائل شد و برای ایجاد شاخص آن فیلدهایی را انتخاب کرد که در بیشتری پرس و جو ها به کار برده می شوند.

تعداد مدخل های شاخص در سطح اول برای شاخص های مختلف ممکن است یکسان نباشد.

فایل های شاخص تأمین کننده ی استراتژی دستیابی برای فایل داده ای هستند.

در فایل داده ای مقدار فیلدی می تواند Null یا ناشناخته باشد.

شاخص گذاری جزء نوع دستیابی تصادفی است.

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

اگر در فایلی که شاخص اولیه و ثانویه دارد بر اثر اصلاح، کلید اولیه تغییر کند، چه تنظیم دیگری را باید انجام دهیم؟

ممکن است لازم باشد تا شاخص اولیه و تمام شاخص های ثانویه تغییر کنند.

بر روی فایل های ترتیبی و پایل و فایل پایل مرتب شده می توان شاخص ایجاد کرد.

 

ساختار فایل ترتیبی شاخص دار

شاخص اصلی: وقتی که صفت خاصه ی شاخص کلید اصلی باشد. وقتی که صفت خاصه ی شاخص کلید ثانویه باشد.

کلید ثانویه کلیدی است غیر از کلید اصلی که خاصیت کلید بودن را دارد.

در شاخص متراکم لزومی بر مرتب بودن فایل داده ای نمی باشد اما در شاخص غیر متراکم باید فایل داده ای مرتب باشد برای این که بتوان رکوردها را گروه بندی کرد.

شاخص نرم افزاری و سخت افزاری داریم.

شاخص نرم افزاری: گروه در شاخص غیر متراکم بلاک یا باکت می باشد.

شاخص سخت افزاری: گروه در شاخص غیر متراکم شیار استوانه یا در حالتی که فایل روی چند دیسک ذخیره شده باشد می تواند خود دیسک باشد.

لنگرگاه چیست؟ نقطه ای از فایل داده ای است که مدخل شاخص به آن اشاره می کند و اگر لنگرگاه رکوردی باشد شاخص را متراکم می گویند.

اجزای تشکیل دهنده ی ترتیبی ساختار شاخص دار عبارتند از: 1ـ فایل ترتیبی یا ناحیه ی اصلی 2ـ ناحیه ی سر ریزی 3ـ نشانه رو ها

شاخص در ساختار ترتیبی شاخص دار در چه حالتی بازسازی می شود؟ در سازمان دهی مجدد.

زمان خواندن کل فایل در ساختار ترتیبی شاخص دار به صورت پی در پی از چه رابطه ای به دست می آید؟

معایب ساختار ترتیبی شاخص دار عبارتند از: عدم تقارن ـ مسئله ی درج سر ریزی ها ـ ایستا بودن شاخص.

واکشی تک رکوردها با استفاده از شاخص سریع تر انجام می گیرد.

در شاخص متراکم واکشی تک رکوردها سریع تر از شاخص غیر متراکم انجام می گیرد.

برای انجام عمل درج یک رکورد جدید در روش Push Trough چه اعمالی انجام می گیرد؟ خواندن بلاکی که باید رکورد در آن درج شود ـ بازنویسی بلاک ـ واکشی رکورد منطقا قبلی و تنظیم اشاره گر ـ بازنویسی همین رکورد.

 

روشهای بهینه سازی برای موتور جستجو

1) فهرست (index) شدن

موتورهای جستجوی مطرح همچون گوگل و یاهو جهت یافتن نتایج جستجوی الگوریتمی، از خزنده ها (crawlers) استفاده می کنند. صفحاتی که دارای لینک سایر صفحات فهرست شده موتورهای جستجو هستند، نیاز به فهرست شدن ندارند چرا که بطور خودکار یافت میشوند. برخی از موتورهای جستجو همچون یاهو دارای سرویس ارائه غیررایگان هستند که گردش در سایت را با تعیین هزینه مورد نظر به ازای هر کلیک تضمین می نماید. چنین برنامه هایی معمولاً وجود در دیتابیس را تضمین کرده ولی رتبه بندی خاص در نتایج جستجو را تضمین نمی کنند. دو فهرست اصلی، یعنی فهرست "یاهو" و یا پروژه "فهرست باز" هر دو نیازمند ارائه دستی و بازنگری ویرایشی توسط یک شخص حقیقی هستند. گوگل ابزار Webmaster گوگل را ارائه می دهد که با استفاده از آن می توان feed نقشه سایت XML را بصورت رایگان ایجاد و ارائه نمود تا یافتن تمامی صفحات بویژه صفحاتی که با جستجوی خودکار قابل دستیابی نیستند تضمین شوند .

(گردشگران) Crawler های موتورهای جستجو ممکن است هنگام گشت زدن به فاکتورهای متعددی توجه داشته باشند. تمامی صفحات توسط موتورهای جستجو فهرست نمی شوند. فاصله صفحات از فهرست اصلی یک سایت ممکن است عاملی در یافته شدن یا نشدن صفحات باشد. 

2) جلوگیری از گشت زنی (crawling) و استاندارد خروج روبات ها

به منظور جلوگیری از یافتن محتوای ناخواسته در شاخص های جستجو ، webmaster ها می توانند به spiderها بگویند فایلها و یا فهرست های خاص را از طریق فایل robots.txt در فهرست اصلی دومین (domain) جستجو نکنند به علاوه مسلماً یک صفحه می تواند با استفاده از متاتگ ویژه روبات ها از دیتابیس یک موتور جستجو خارج شود.

زمانیکه موتور جستجویی سایتی را مشاهده می کند، فایل robots.txt واقع در فهرست اصلی، اولین فایلی است که جستجو می شود. این فایل سپس بررسی می شود و به روبات دستور می دهد چه فایلهایی را نباید جستجو (crawler) کند. به دلیل اینکه crawler یک موتور جستجو ممکن است کپی کش شده این فایل را نگه دارد، ممکن است گاهاً صفحاتی که webmaster نمی خواهد، بازبینی شود. صفحاتی که عموماً از گشت زنی نفی می شوند، شامل صفحات ورود و خروج اعضا یا سبدهای خرید و صفحات مخصوص کاربران که از جستجوهای درون سایتی بدست می آیند است. در ماه مارس 2007 گوگل به webmaster ها اخطار داد که آنها باید از indexing نتایج جستجوی داخلی جلوگیری کنند، چرا که آن صفحات به عنوان اسپم جستجو تلقی می گردند.

 3) افزایش اهمیت

روشهای متعدد دیگری نیز جهت نمایش یک صفحه در نتایج جستجو می تواند مورد استفاده قرار گیرند. این روشها شامل موارد زیر هستند:

تبادل لینک بین صفحات یک وب سایت: اختصاص لینک های بیشتر به صفحات اصلی وب سایت به منظور افزایش رتبه صفحه مورد استفاده قرار گرفته توسط موتورهای جستجو و یا لینک از وب سایتهای دیگر شامل link farming و comment spam.

نوشتن محتوایی که شامل عبارات و کلمات کلیدی تازه جستجو شده باشد به طوریکه با بسیاری از سئوالات جستجو مربوط و مرتبط باشد . افزودن کلمات کلیدی به متاتگ های صفحات وب شامل keyword stuffing (قرار دادن کلمات کلیدی)

عادی سازی URL صفحات وب که از طریق URL های چندگانه قابل دستیابی باشند با استفاده از متاتگ "Canonical"

من محسن ساروقی عضو گروه برنامه نویسی نارنج سیستم هستم امیدوارم از مطلبی که براتون گذاشتم لذت برده باشید .

تماس با نارنج سیستم

هر سوالی داشتید با ما در میان بگذارید

لطفا نام را وارد کنید
لطفا یک ایمیل معتبر وارد کنید
پیام خود را وارد کنید
جمع دو عدد را صحیح وارد نکرده اید
چند لحظه صبر کنید