Skip to content

مبادئ محركات البحث

مقدمة

تبحث عن "فستان أحمر" على تاوباو، وخلال 0.1 ثانية تجد النتائج الأكثر صلة من بين مليارات المنتجات - كيف يحدث هذا؟ محركات البحث هي واحدة من أهم البنى التحتية للإنترنت، من Google إلى البحث الداخلي في المتاجر الإلكترونية، مبادئها الأساسية واحدة: الفهرس المقلوب + ترتيب حسب الصلة.

ماذا ستتعلم في هذا المقال؟

بعد إكمال هذا الفصل، ستكتسب:

  • الفهرس المقلوب: فهم بنية البيانات الأساسية لمحركات البحث
  • تقنيات التقسيم: فهم تحديات التقسيم اللغوي الصيني والحلول الشائعة
  • ترتيب حسب الصلة: إتقان المبادئ الأساسية لـ TF-IDF و BM25
  • Elasticsearch: فهم بنية أشهر محرك بحث وحالات استخدامه
  • تحسين البحث: إتقان وظائف البحث العملية مثل المرادفات والتصحيح والتمييز
الفصلالمحتوىالمفاهيم الأساسية
الفصل 1الفهرس المقلوبالفهرس الأمامي مقابل الفهرس المقلوب
الفصل 2التقسيم والتحليلالتقسيم اللغوي الصيني، كلمات التوقف، استخراج الجذور
الفصل 3ترتيب حسب الصلةTF-IDF، BM25
الفصل 4Elasticsearchالبنية الموزعة، الأجزاء، النسخ المتماثلة
الفصل 5تحسين البحثالمرادفات، التصحيح، الإكمال التلقائي

0. النظرة الشاملة: ما هو جوهر البحث؟

جوهر البحث هو مشكلة استرجاع المعلومات (Information Retrieval): بالنظر إلى استعلام، ابحث عن أكثر الوثائق صلة من بين كم هائل من الوثائق، وأعدها مرتبة حسب الصلة.

تنقسم هذه العملية إلى مرحلتين:

  • مرحلة الفهرسة (غير متصلة): معالجة جميع الوثائق مسبقًا، وبناء هيكل بحث فعال
  • مرحلة الاستعلام (متصلة): عندما يدخل المستخدم كلمات مفتاحية، ابحث بسرعة عن الوثائق المطابقة ورتبها

لماذا لا يمكن استخدام استعلام LIKE في قاعدة البيانات؟

SELECT * FROM products WHERE name LIKE '%فستان أحمر%' يبدو أنه يمكنه البحث، لكنه يتطلب مسحًا كاملًا للجدول - فحص كل سجل صفًا بصف. عندما يصل حجم البيانات إلى ملايين السجلات، يصبح هذا الاستعلام بطيئًا جدًا لدرجة عدم إمكانية استخدامه. الفهرس المقلوب يحول هذه العملية من O(n) إلى بحث O(1).


1. الفهرس المقلوب: "قلب" محرك البحث

قواعد البيانات التقليدية تستخدم الفهرس الأمامي: من معرف الوثيقة إلى محتوى الوثيقة. أما محركات البحث فتستخدم الفهرس المقلوب: من الكلمة المفتاحية إلى قائمة الوثائق التي تحتوي عليها.

Inverted Index
Type a search term to see how an inverted index works
Source documents
Doc 1Apple is a common fruit
Doc 2Apple released a new phone
Doc 3I like eating fruit and vegetables
Doc 4This phone has a practical price
Doc 5The fruit shop has apples and bananas
Inverted index table
apple[1][2][5]
fruit[1][3][5]
phone[2][4]
company[2]
release[2]
like[3]
vegetables[3]
price[4]
practical[4]
banana[5]
common[1]
نوع الفهرسالاتجاهطريقة البحثالسيناريو المناسب
الفهرس الأماميوثيقة → محتوىمعرفة المعرف، البحث عن المحتوىاستعلام المفتاح الأساسي في قاعدة البيانات
الفهرس المقلوبكلمة مفتاحية → قائمة الوثائقمعرفة الكلمة المفتاحية، البحث عن الوثائقالبحث النصي الكامل

عملية بناء الفهرس المقلوب

  1. جمع الوثائق: الحصول على جميع الوثائق التي تحتاج إلى البحث
  2. التقسيم (Tokenization): تقسيم الوثائق إلى كلمات فردية
  3. بناء التعيينات: تسجيل الكلمات التي تظهر في كل وثيقة (ومواضع ظهورها وتكرارها وما إلى ذلك)
  4. التخزين الدائم: كتابة الفهرس على القرص لدعم البحث السريع

2. التقسيم والتحليل النصي

التقسيم هو الخطوة الأولى في محرك البحث، وهو أيضًا أكبر تحدٍ للبحث باللغة الصينية. اللغة الإنجليزية تفصل الكلمات بمسافات طبيعيًا، لكن الصينية ليس لديها فواصل - "乒乓球拍卖了" يمكن تقسيمها إلى "乒乓球/拍卖/了" أو "乒乓/球拍/卖/了".

طريقة التقسيمالوصفمثال
التقسيم القياسيالتقسيم حسب المسافات وعلامات الترقيم (الإنجليزية)"hello world" → ["hello", "world"]
التقسيم الصينيالتقسيم بناءً على القاموس أو النموذج"搜索引擎" → ["搜索", "引擎"]
N-gramالتقسيم بنافذة منزلقة بطول ثابت"搜索" → ["搜索", "索引"]
القاموس المخصصإضافة كلمات خاصة بالمجال"iPhone16ProMax" ككلمة واحدة

خط أنابيب التحليل النصي

التقسيم هو مجرد خطوة واحدة من التحليل النصي، خط الأنابيب الكامل يشمل:

  1. تصفية الأحرف: إزالة وسوم HTML والأحرف الخاصة
  2. التقسيم: تقسيم النص إلى كلمات (Token)
  3. تصفية كلمات التوقف: إزالة الكلمات عالية التكرار عديمة المعنى مثل "的" و "了" و "是"
  4. توسيع المرادفات: توسيع "هاتف" إلى "هاتف، جوال، هاتف محمول"
  5. استخراج الجذور: إرجاع "running" إلى "run" (الإنجليزية)

3. ترتيب حسب الصلة: أي نتيجة هي الأكثر "صلة"؟

العثور على الوثائق المطابقة هو الخطوة الأولى فقط، الأهم هو الترتيب - وضع النتائج الأكثر صلة في المقدمة.

الخوارزميةالمبدأالميزات
TF-IDFتكرار الكلمة (TF) × تكرار الوثيقة العكسي (IDF)خوارزمية كلاسيكية، بسيطة وفعالة
BM25نسخة محسنة من TF-IDF، مع تطبيع طول الوثيقةالخوارزمية الافتراضية في Elasticsearch
البحث المتجهيتحويل الوثائق والاستعلامات إلى متجهات، وحساب تشابه جيب التماميدعم البحث الدلالي

فهم بديهي لـ TF-IDF

  • TF (تكرار الكلمة): كلما ظهرت كلمة أكثر في وثيقة، زاد احتمال ارتباط الوثيقة بهذه الكلمة
  • IDF (تكرار الوثيقة العكسي): كلما ظهرت كلمة في عدد أقل من الوثائق، زادت قدرتها على التمييز
  • "的" تظهر في جميع الوثائق (IDF منخفض)، لذا البحث عن "的" لا معنى له
  • "Elasticsearch" تظهر فقط في وثائق قليلة (IDF مرتفع)، البحث عنها يمكنه التحديد بدقة

4. Elasticsearch: أشهر محرك بحث

Elasticsearch هو أشهر محرك بحث مفتوح المصدر حاليًا، مبني على Apache Lucene، يوفر قدرات بحث نصي كامل موزعة عبر RESTful API.

المفهومالوصف
Indexيشبه "الجدول" في قاعدة البيانات، يخزن الوثائق المتشابهة
Documentسجل واحد، بصيغة JSON
Shardجزء، تقسيم الفهرس إلى عدة عقد
Replicaنسخة متماثلة، توفر توفرًا عاليًا وتوسعًا في القراءة
Mappingتعريف أنواع الحقول، يشبه Schema قاعدة البيانات
Analyzerمحلل النص، يحدد قواعد التقسيم

ES مقابل قاعدة البيانات

Elasticsearch ليس بديلاً عن قاعدة البيانات، بل يعمل كطبقة بحث بالتزامن مع قاعدة البيانات. البنية النموذجية: كتابة البيانات في قاعدة البيانات → مزامنتها إلى ES → طلبات البحث تذهب إلى ES → طلبات التفاصيل تذهب إلى قاعدة البيانات.


5. تحسين البحث: جعل البحث "أذكى"

وسيلة التحسينالوصفالتأثير
المرادفات"هاتف" يمكنه أيضًا العثور على "جوال"زيادة معدل الاسترجاع
تصحيح الإملاء"iphoen" يُصحح تلقائيًا إلى "iphone"التسامح مع الأخطاء
الإكمال التلقائيكتابة "تف" تقترح "تفاح"تحسين التجربة
التمييزتلوين الكلمات المطابقة باللون الأحمر في نتائج البحثعرض بديهي
تعديل الأوزانوزن مطابقة العنوان > وزن مطابقة المحتوىزيادة الدقة
التصفية والتجميعالتصفية حسب نطاق السعر والعلامة التجاريةتضييق النطاق

الخلاصة

محركات البحث هي بنية تحتية أساسية لتطبيقات الإنترنت. فهم المفاهيم الأساسية الثلاثة: الفهرس المقلوب، والتقسيم، وترتيب حسب الصلة، يعني إتقان جوهر محركات البحث.

مراجعة النقاط الرئيسية لهذا الفصل:

  1. الفهرس المقلوب: التعيين العكسي من الكلمة المفتاحية إلى الوثيقة، هو بنية البيانات الأساسية لمحركات البحث
  2. التقسيم هو الأساس: التقسيم الصيني هو مفتاح جودة البحث، ويتطلب اختيار مقسم مناسب
  3. ترتيب BM25: تسجيل الصلة بناءً على تكرار الكلمة وتكرار الوثيقة، هو الخوارزمية الافتراضية في ES
  4. بنية ES: الأجزاء + النسخ المتماثلة تحقق التوزيع والتوفر العالي
  5. تحسين البحث: المرادفات والتصحيح والإكمال تجعل البحث أكثر ذكاءً

قراءة إضافية