الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

فكرة لتطوير طرق واساليب البحث

مغلق
بدأه mohedss في 22 سبتمبر 2004 · 9 رد · 1,124 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد تطوير طريقه ذكيه مبسطه لمحرك بحث لدليل مواقع يضم ما يقارب 8000 موقع!

تعتمد هذه الطريقه على تصنيف أسلوب الحبث الى اربع نقاط وهي :

1 - ان يتم البحث عن الكلمة المراد البحث عنها في قاعدة البيانات للمواقع الأكثر زيارة اولأ.

2 - ثم المرحلة الثانية ان يتم البحث عن الكلمة في الأقسام المشابه لهذه الكلمة. (حسب اسم القسم يعني أو وصف القسم)

3 - ان يتم البحث عن الكلمة المطلوبه في المرحلة الثالثة في اسماء المواقع.

4 - ان يتم في المرحلة الرابعة البحث ضمن وصف المواقع.

ويمكن زيادة او اعادة ترتيب هذه النقاط حسب ما ترون

أرجوا طرح ما ترون انه مفيد لتعم الفائده.

طبعاً انا سوف استخدم لغة php وقواعد البيانات MySql

وكما هو معروف الفكرة البرمجية واحده لكل اللغات!!

#2

ممكن تحدثنا عن الطريقة التقنية لانه انا ما عندي ادنى فكرة عن عمل محركات البحث

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#3

ليس لدي تقنية معينة في هذا الموضوع ولكنها فكرة برمجية باستخدام قواعد اللغة وبمعايير ثابته حسب اولويات البحث.

دعني اوضحها شوي:

اذا عندي زائر دخل وطلب البحث عن كلمة (برمجة) أريد أن يقوم محرك البحث بعمل خطوات مرتبه و اولويات للبحث حسب التالي:

1 - أن يتم البحث في المواقع الأكثر زيارة في الدليل (طبعا مع وجود حقل عداد في الجدول للمواقع الأكثر زيارة) وتحتوي على كلمة البحث المطلوبة والسبب ان المواقع الاكثر زيارة عادة ماتكون هي المطلب وسوف نضع ناتج البحث في جدول وهمي باسم متغير (Result)

2 - ان يبحث في الاقسام التي لها اسم برمجة أو في وصفها (Keywords) كلمة برمجة كونها سوف تكون أكثر دقها من غيرها. ويضع الناتج في جدول وهمي باسم متغير (Result1).

3 - في المرحلة الثالثة يتم البحث في اسماء المواقع (مثل الفريق العربي للبرمجة) وتكون نتائج هذا البحث في جدول وهمي باسم متغير (Result2).

4 - المرحلة الرابعة البحث يكون ضمن وصف المواقع ( مثل : موقع عربي منوع يحتوي على دليل مواقع وكتب ولغات برمجة...الخ) ويضع الناتج في جدول وهمي باسم متغير (Result3).

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

هذا مالدي الى الآن أتمنى أن تكون الفكرة واضحه كوني أنا ايضا أبحث عن أفضل الحلول لذلك.

#4

طيب كيف ستقوم بجمع معلومات عن المواقع؟ و خاصة كمم عدد الزوار عليها؟ اذا كان لديك قاعدة بيانات جاهزة معناها الموضوع سهل اما اذا كان مثل google فالموضوع اصعب مما نتخيل

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#5

أنا لدي بالفعل قاعدة بيانات تقارب 8000 موقع وهي ماريد البحث بها فقط.

وانا اعرف انا موضوع البحث كمحركات قوقل google صعبة جداً كونها تقنيه بحد ذاتها.

اتمنى منك أخي راكان أن تطرح ما لديك في هذه الفكره ...

وأعتقد انك وصلت لما أفكر به .

وأنا ايضا قريب مما اريده لكن بعض الافكار تزيد من الفعاليه!!

=======

لكن على فكره انا قريب من google كثير جداً حيث لا يوجد فرق بيني وبينه غير حرف واحد فقط؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ (www.googze.com).

#6

الموضوع ليس بالسهولة التي تخيلتها عندما سالتك عن اذا ما كان لديك قاعدة بيانات بالموضوع لكن الطريقة التي يمكن عملها هو البحث في الصفحات واحدة بعد الاخرى بعد ترتيبها في جملة استعلام select و يمكننا ترتيبها عن طريق order by WebsiteHits DESC

و هذا سوف يقوم بترتيب الصفحات من الاكبر الى الاصغر من ناحية عدد الزوار.

و من ثم نعمل loop خلال كل موقع من الناتج و نشوف اذا في محتواه كلمة تطابق الكلمة المراد ايجادها عن طريق دالة ال str_pos والتي ستعطينا 0 اذا لم تكن الكلمة موجودة.

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#7

سأفترض قاعدة بيانات مثل هذه:

جدول الأقسام:

1. رقم القسم (مفتاح رئيسي)

2. اسم القسم

جدول مفاتيح البحث:

1. رقم الكلمة المفتاحية (مفتاح رئيسي)

2. الكلمة المفتاحية

جدول الأقسام-المفاتيح:

1. رقم القسم (مفتاح خارجي)

2. رقم الكلمة المفتاحية (مفتاح خارجي)

جدول المواقع:

1. رقم الموقع (مفتاح رئيسي)

2. اسم الموقع

3. وصف الموقع

4. الجهة المالكة

5. تاريخ الإنشاء

6. ... (أية معلومات مرغوبة) ...

7. عداد الزيارة

جدول تفاصيل المواقع:

1. رقم الموقع (مفتاح خارجي)

2. رقم القسم (مفتاح خارجي)

يمكن عمل آلية البحث بعبارت SQL كما في قسم (1) بالملف المرفق، الجداول كالآتي:

الأقسام categories

مفاتيح البحث keywords

الأقسام-المفاتيح categories_keywords

المواقع sites

تفاصيل المواقع sites_details

الهدف إعادة (الأرقام التعريفية) و(أسماء المواقع) التي تحوي كلمة البحث حسب الشروط التي وضعتها.

حقل العداد لن يستخدم إلا كوسيلة تنسيق للعرض (ترتيب السجلات المستعادة، تنازليا في حالة المواقع الأكثر زيارة أولا). يمكن عملها كما في قسم (2) بالملف المرفق.

بمكن أيضا تقسيم عبارة الـ SQL إلى عبارتين أو ثلاث، ومعالجة النتائج على حدى. ستعتمد الآلية على طريقة عرض النتائج المطلوبة.

search_SQL.txt

#8

بالفعل عزيزي / متعلم البحث سوف يكون في تقسيم عبارة الـ SQL إلى عبارتين أو ثلاث، ... أو أكثر..

سوف اشاهد الملف المرفق وأقوم بالرد عما توصلت اليه حول ذلك.

شكرا لك لك اخي راكان .. والموضوع ترى سهل بس المسأله هي ترتيب الجمل الاستعلامية وطريقة عملها بشكل أفضل.

#9

و انا ايضا ساقوم بكتابة الكود لاحقا و عرضه و مناقشته.

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#10

بالنسبة لموضوع البحث في المواقع هناك حلول كثيرة أما البحث بالطريقة التي تفكرون بها فاشلة لأنه يجب عليك البحث داخل كل صفحة وبالتالي فإن البحث سيستغرق حوالي دقيقتين على الأقل للوصول إلى كلمة هذا طبعا إذا كان عند خلفية عن الموقع الذي تبحث عنه وإلا فسيستغرق أكثر من ذلك

مع تمنياتي بالوصول إلى حل أفضل

تم تعديل هذه المشاركة بواسطة بلال حمدي في 28 سبتمبر 2004 في 00:12

هذا الموضوع مغلق.

مواضيع مشابهة