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

حل لمشكلة الحروف العربية المتشابهة عند البحث

بدأه هدف الشمالي في 17 أكتوبر 2013 · 0 رد · 553 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1
 

عند البحث باللغة العربية في قاعدة بيانات -فيها أسماء طلاب مثلًا - فإننا نواجه مشكلة في التفريق بين الحروف المتشابهة ، فمثلًا إذا كان في قاعدة بيانات اسم "أحمد" وبحثت عنه هكذا "احمد" بألف بدون همزة فإن النتيجة لن تظهر , وهذا ليس الإشكال الوحيد ، بل هناك آ ، إ ، ى ، ئ ، ء ، والحرفين ة ، ه ، و ابن ، بن ... إلخ تظهر مشكلة

وكنت قبل فترة تكلمت في هذا المنتدى عن حل لهذه المشكلة ، ولكن كان الحل ربما لايخلو من مشاكل ، لذا أعدت محاولة تصحيح الكود واختصاره 

فإذا وضعت الآن على سبيل المثال "خالد عمر بن ماجد سعيد" ثم بحثت عن :

عمر بن ماجد

أو :عمر ماجد

أو : عمر مأجد

أو :عمر مإجد

أو : خالد ابن عمر

... إلخ ستظهر معك النتيجة بدون مشاكل -إن شاء الله - 

أيضًا أرجو أن مقروئية الكود أفضل الآن ،

هناك فئة اسمها : Searching وعليها مدار الحل ، واستخدام هذه الفئة يكون كالتالي :

قبل أن تبحث عليك إرسال ماتريد البحث عنه للدالة : stringSe

وهي لتجهيز جملة الاستعلام , ولها ثلاث مدخلات :

1- اسم الجدول الذي تريد البحث فيه،

2- مصفوفة باسم العامود أو الأعمدة التي تريد البحث فيها ولابد تكون نصية .

3- جملة البحث أو جمل البحث ، ولابد أن تكون بعدد الأعمدة التي تريد البحث فيها .

ولما تحصل على نتيجة الإستعلام عليك أن تعرضها على الدالة : Comparison ولها مدخلين :

1- الجملة التي بحثت عنها .

2- النتيجة القادمة من الاستعلام , وستعطيك : true إن كانت صالحة للعرض أو : false إن لم تكن كذلك .

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

 

ملاحظة : المشروع يستخدم قاعدة بيانات sqlite

 


تم تعديل هذه المشاركة بواسطة هدف الشمالي في 17 أكتوبر 2013 في 22:53

3

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…