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

حل لمشكلة البحث باللغة العربية

بدأه Web5stars في 1 أكتوبر 2011 · 1 رد · 498 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

مرفق ملف فيه حل لمشكلة البحث في اللغة العربية ، فمثلا ً إذا بحثت عن شخص اسمه أحمد زيادة إحساس مرزوقي

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

طريقة الحل كالتالي ، هو عمل حقل خاص Field في نفس الجدول Table ويكون هذا الحقل فيه نفس أسماء الموظفين ولكن بعد اللعب في مكوناتها ، كيف ؟

عن طريق عمل دالة تقوم بــ

حذف الهمزات : أحمد = احمد ، إحسان = احسان وهكذا

استبدال التاء المربوطة بالهاء : أسامة = اسامه ، نورة = نوره وهكذا

استبدال الياء الأخيرة لألف مقصورة : قاضي = قاضى ، سامي = سامى وهكذا .

وهكذا تكون جميع الأسماء تمت فلترتها ووضعها في نفس الجدول ولكن في حقل جديد .

فإذا قمت بالبحث ، فتقوم هذه الدالة ذاتها بمقارنة ماكتبه الباحث وتقوم بفلترته ومقارنته بالحقل الجديد الموجود ثم تقوم بإخراج الاسم الأصلي للنتيجة . حد فهم حاجة ؟؟

عموما أنا موجود لو حد عايز يفهم الطريقة دي .

المثال يعمل على SQLserver2005 ويمكنك تغيير اسم قاعدة البيانات واسم السيرفر وكل الكونيكشن سترينج بشكل عام من خلال الموديول ModConn

من ملف ModFuncs قم بتغيير اسم الجدول المتكرر في الملف TDeptEmp إلى اسم الجدول الذي تحبه

ثم اسم الحقل الأصلي لأسماء الموظفين DeptEmpFullName قم بتغييره

ثم اسم الحقل الجديد بعد الفلترة لأسماء الموظفين FakeEmpName قم بتغييره

ثم رقم الموظف DeptEmpID قم بتغييره لحقل أرقام الموظفين الموجود عندك

والآن المفترض أن يعمل المشروع عندك ، وللأسف هناك عيب لم أتفرغ لحله وهو تكرار الحرف أحيانا أثناء البحث ولم افرغ وقتي لحلها ، وياريت لو حد حلها يبلغني .

أتمنى أن يكون نافعا ً .

جزاكم الله خيرا .

ArabicSearch.rar

1
#2

السلام عليكم ورحمه الله وبركاته

شكرا اخي على المجهود الرائع .. تمنياتي لك بالتوفيق ..

.:: Wish to become better and better ::.

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