/اصنع محرك بحثك الخاص

اصنع محرك بحثك الخاص

من منا لا يستخدم محرك البحث الاشهر عالميا جوجل يوميا !! من منا من لم يتسائل عن كيفية برمجته والسر وراء كفاءته وسرعته !! تختلف وتتعدد محركات البحث حول العالم تبعا لوظيفتها وكفائتها وطريقة صنعها او برمجتها .

فكرة عمله هى تجميع المواقع الجديدة والملفات اللى تتحول لنصوص وكتابات من الانترنت كله وتخزينها بشكل مفهرس يسهل الوصول اليه ثم استرجاعها مرة اخرى عند البحث وهنا يظهر الفرق بين search engine & web directory

search engine >> العملية تتم كليًا بشكل آلى، ماكينات وبرمجيات تعمل على مدار الساعه . اشهر مثال هو جوجل

web directory >> العملية تتم بشكل يدوى وآلى معا حيث يتم فهرسة المواقع وتصنيفها بشكل يدوى ثم تخزينها واسترجعاها للبحث بشكل آلي واشهر الامثلة عليه ياهو او dmoz طبعا لكل منهم مميزات وعيوب لا مجال لذكرها هنا…

لصنع محركك الخاص هناك مجموعه من المراحل الواجب اتباعها فى كل المحركات ولكن باختلاف طرق تنفيذها واستخدام الالجوريزمات المختلفة وطرق التطبيق تختلف كفاءة المحرك وسرعة اداؤه! .

بالطبع لن نصنع المحرك من البداية ولكن هناك بدائل كثيرة لكل مرحلة منهم تقوم بالمهام بشكل فعال .

1 – Crawling

وتشمل عملية جمع الملفات والوثاق وصفحات الانترنت المراد البحث بها وتشمل نوعين :-

* basic crawling حيث يتم تجميع جميع الصفح اللتى يمر عليها بطريقة عشوائية

* focused crawling يتم جمع مجموعه معينة من الصفحات مرتبطة بشكل معين. مثلا موضوع معين او نوع معين من الملفات وهكذا ..

 

وهناك الكثير منهم :-

2- Parsing

وتعنى عملية استخراج النصوص والكلمات من الملفات وصفحات الانترنت وباستخدام الجوريزمات معينة يتم استخراج الكلمات والنصوص من صفحات الانترنت او ملفات xml او عن طريق تحويل الملفات المختلفة لنصوص كملفات word , pdf , etc

او بشكل اخر هيا عملية تحويل الملفات وصفحات الانترنت والوثائق المختلفة الى شكل عام يسهل تخزينه والتعامل معه فيما بعد (شكل نصى) ، ويتم فيها تحويل كل نوع من الملفات على حده .

 

3- Analyzing

هي عملية تقسيم الاجزاء المعقدة الى اجزاء ابسط منها لسهولة التعامل معها . او بمعنى اخر هو تقسيم النصوص الكبيرة الى كلمات لسهولة تخزينها وعدم التكرار، وهي عملية معقدة لانها تتطلب تقسيم للكلمات ومعرفة المهم منها . على سبيل المثال . لا يجب حفظ حروف الجر او حروف العطف وخلافه حتى لا تدخل فى عملية البحث .

 

4- Indexing

هى عملية حفظ الكلمات بشكل مفهرس وتتم وفق قواعد والجوريزمات مختلفة حيث ان طريقة التخزين تحدد سرعه وكفاءة نتيجة البحث وكذلك عدد السجلات المستخدمة فى الحفظ .

5-Searching

وهي العملية النهائية والتى تظهر للمستخدم وفيها يتم ادخال النص المراد البحث عنه ومقارنتها بقواعد البيانات الناتجة من عمليه indexing واستقبال الناتج وعرضه للمستخدم وخلال هذه العملية تتم مقارنة النص المراد البحث عنه بطرق مختلفه او باستخدام شروط معينة لتقليل النتائج وعرض الصحيح منها فقط ثم يتم ترتيب هذه النتايج وفقا لقواعد مختلفة .

 

تتم باقى العمليات سويا عن طريق سيرفر للبحث يعالج الملفات ويحفظها بالشكل المطلوب سواء داخل قواعد بيانات sql او NoSql

اشهرهم ..

انتظروا المقالة القادمة لبناء محرك بحثك الخاص ..

TAGS: