پایگاه داده موتور جستجوگر

خلاصه
1404/01/30

موتور جستجو مثل گوگل، بینگ یا یاهو، یک «پایگاه داده معمولی» نداره؛ بلکه ترکیبی از چند ساختار داده و سیستم خاص برای پردازش، ذخیره و جستجوی سریع در مقیاس وب استفاده می‌کنه.

پایگاه داده  موتور جستجوگر

پایگاه داده  موتور جستجوگر موتور جستجو مثل گوگل، بینگ یا یاهو، یک «پایگاه داده معمولی» نداره؛ بلکه ترکیبی از چند ساختار داده و سیستم خاص برای پردازش، ذخیره و جستجوی سریع در مقیاس وب استفاده می‌کنه. اجزای اصلی پایگاه داده موتور جستجو:
Crawler (خزنده)
صفحات وب رو پیمایش می‌کنه و محتوای اونا رو جمع‌آوری می‌کنه. Indexer (ایندکسر)
محتوای صفحات رو تجزیه می‌کنه و اون‌ها رو در ساختاری به نام شاخص معکوس (Inverted Index) ذخیره می‌کنه. Inverted Index (شاخص معکوس)
مهم‌ترین بخش پایگاه داده‌ی موتور جستجوست.
به جای اینکه برای هر سند (مثلاً یک صفحه وب) بگیم چه کلماتی داره، برعکس می‌گیم: هر کلمه در چه سندهایی ظاهر شده. Document Store (مخزن اسناد)
محتوای کامل صفحات، متادیتا، آدرس URL، و... رو ذخیره می‌کنه تا موقع نمایش نتایج استفاده بشه. Ranker (مرتب‌ساز)
وقتی کاربر چیزی سرچ می‌کنه، نتایج مربوط رو رتبه‌بندی می‌کنه با الگوریتم‌هایی مثل PageRank یا یادگیری ماشین. تکنولوژی‌هایی که استفاده می‌شن:
Elasticsearch / Apache Solr
برای ساختن موتور جستجوی پیشرفته و شاخص معکوس. BigTable / Cassandra / HBase
برای ذخیره‌سازی توزیع‌شده. MapReduce / Hadoop / Spark
برای پردازش موازی داده‌های عظیم.