المساهمة في تنفيذ وحدات المشروع التالية: الويب كراولر (Web Crawler)، الفهرسة (Indexer)، وواجهة المستخدم الأمامية (Frontend).
تنفيذ الويب كراولر الذي يقوم بجمع الوثائق من الويب، وتحميلها من خلال عناوين URL واستخراج الروابط الموجودة فيها.
ضمان أن الويب كراولر لا يزور نفس الصفحة أكثر من مرة، وقام بتطبيع عناوين URL والتحقق مما إذا كانت تشير إلى نفس الصفحة.
تنفيذ وحدة الفهرسة التي تقوم بتخزين وفهرسة المحتوى المستخلص من الوثائق المحملة وتخزين كلمات البحث وأهميتها في كل وثيقة.
استخدام هيكل بيانات مناسب لتنظيم ترتيب زيارة الصفحات من قبل الكراولر.
تنفيذ معالج الاستعلامات الذي يقوم بتلقي استعلامات البحث وإجراء المعالجة المطلوبة والبحث في الفهرس لاسترجاع الوثائق ذات الصلة.
تنفيذ وحدة البحث عن العبارات التي تتيح البحث عن عبارات كاملة عند وضع علامات اقتباس حولها.
تنفيذ وحدة الترتيب التي تقوم بفرز الوثائق بناءً على شعبيتها وصلة الصلة بالاستعلام.
تنفيذ واجهة المستخدم الأمامية لمحرك البحث التي تستقبل استعلامات المستخدمين وتعرض الصفحات المتوافقة مع الاستعلام بنمط مشابه لصفحات نتائج البحث في Google/Bing.
توفير آلية الاقتراح التي تخزن استعلامات البحث المقدمة من جميع المستخدمين وتقترح استكمالات شائعة تفاعلية لتلك الاستعلامات.
استخدام تقنيات تعدد المواضيع في الكراولر بحيث يمكن للمستخدم التحكم في عدد المواضيع قبل بدء العملية.
توفير واجهة المستخدم الأمامية لمحرك البحث التي تسمح للمستخدمين بتصفح النتائج المستردة وعرض مقتطفات من النصوص المحتوية على كلمات البحث.
التكنولوجيا المستخدمة:
لغة الجافا لتنفيذ المكونات الرئيسية للمشروع مثل الكراولر والإنديكسر.
لغات وتقنيات الويب المستخدمة في تنفيذ واجهة المستخدم الأمامية مثل HTML و CSS و JavaScript و React.
استخدام قاعدة بيانات ثانوية لتخزين البيانات المتعلقة بالإنديكس والمحتوى النصي للوثائق.
استخدام مكتبات وأدوات مساعدة لتحقيق وظائف محددة مثل تحليل HTML وتطبيق نمط الإقتباس في عمليات البحث.
أنا فخور بمساهمتي في هذا المشروع وتطوير محرك البحث الذي يبرز مهاراتي في البرمجة باستخدام لغة الجافا وتقنيات تطوير الويب. أتطلع إلى الاستمرار في تنفيذ مشاريع تقنية أخرى وتحسين مهاراتي في مجال هندسة الحاسوب.