![]() |
|
درس في كيفية التعامل مع خاصية في السيكوال سيرفر Full Text Index - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94) +--- قسم : Microsoft SQL Server (http://vb4arb.com/vb/forumdisplay.php?fid=171) +--- الموضوع : درس في كيفية التعامل مع خاصية في السيكوال سيرفر Full Text Index (/showthread.php?tid=4398) |
درس في كيفية التعامل مع خاصية في السيكوال سيرفر Full Text Index - كلكامش الألكتروني - 24-09-12 السلام عليكم ورحمة الله وبركاته, تحية طيبة وددت اليوم ان اقدم لرواد هذا المنتدى الزاخر بالمعرفة معلومة لطالما سألوني الكثير حولها وهي كيفية التعامل مع خاصية Full Text Index بدون ان اخوض بالمقدمات سوف ادخل بشكل مباشر لصلب الموضوع تابع معي. الخطوة الاولى داخل برنامج السيكوال سيرفر نقوم بأنشاء جدول بالمواصفات التالية رمز برمجي: الرمز: Create Table G1lgamesh_Search ( Id Int Primary Key Identity(1,1), Title Varchar(500), [Desc]Varchar(max) ) مع الملاحظة البسيطة والتي يجب ان تركز عليها وهي ان خاصية full text index لا تعمل سوى مع الحقول التي تكون primary key او unique key وبعد اكمالك انشاء الجدول الرجاء قم بأدخال بعض البيانات داخل هذا الجدول الخطوة الثانية في هذه الخطوة سوف نقوم full text index على قاعدة البيانات الخاصة بنا هذا وبالاضافة الى الجدول الذي انشئناه من اجل ان نوفر خاصية البحث داخل هذا الجدول حيث يتوجب علينا انشاء category وذلك عن طريق الكود البرمجي التالي رمز برمجي: الرمز: CREATE FULLTEXT CATALOG ForTableSearch حيث ان ForTableSearch هو اسم لهذا الصنف الخطوة الثالثة في هذه الخطوة سوف نقوم بأنشاء full text index في جدولنا الذي قمنا بتوليده سابقآ ولكن نحن بحاجة الى unique key id او primary key id لذى سوف نقوم بايجاد هذا الــ id عن طريق الكود التالي البسيط رمز برمجي: الرمز: SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS في الكود البرمجي السابق سوف يظهر لنا جميع اسماء القيود (constraint names) للجداول التي انشأناها داخل قاعدة البيانات الخاصة بنا قم بأخذ نسخة من اسم القيد الخاص بالجدول G1lgamesh_Search المنشئ مسبقآ بالخطوة رقم واحد بعد ذلك سوف نقوم بكتابة الكود البرمجي الخاص بأنشاء full text index رمز برمجي: الرمز: CREATE FULLTEXT INDEX ON G1lgamesh_Search (Title, [Desc] ******** 1033) KEY INDEX PK__Tbl_Sear__3214EC0700551192 ON ForTableSearch مع الملاحظة : نقوم بأستبدال العبارة ("PK__Tbl_Sear__3214EC0700551192")الموجودة بالكود السابق بأسم القيد الذي قمنا بنسخه في الكود البرمجي الذي سبق هذا ** من الملاحظ اننا في عملية انشاءنا هذه قمنا بتوليد FULLTEXT INDEX على الحقل Title وكما اننا استعملنا اللغة الانكليزية واستدلينا عليها برقم اللغة 1033 الخطوة الرابعة الان سوف نستطيع ان نستخدم خاصية البحث داخل الجدول المنشئ بأستخدام الفهرس المخصص لذلك قم بعملية استعلام بسيطة بأستخدام الكود التالي ( الرمز: Select * from G1lgamesh_Search Where Contains(Title,'Asp.Net') (Select * from G1lgamesh_Search Where Freetext([Desc],'Asp.Net') لي الاستعلامات السابقة تلاحظون بأننا قد قمنا بعملية استعلام مشروطة بأسم الحقل المراد البحث داخله وكذلك مررنا ماذا نريد للبحث, الاستعلام الاول السابق سوف يقوم بأرجاع الصفوف التي تحتوي على كلمة Asp.Net في حقل الـــ Title والاستعلام الثاني السابق سوف يقوم بأرجاع الصفوف صفوف ASP.Net الموجودة في العمود DESC في بعض الاحيان النتائج تكون مخيبة عندما تقوم بأستعلام عن شئ ما وسوف تظهر لك رسالة مشؤومة مفاد تلك الرسالة fdhost cannot be started هذا يعني بأن خدمة Full Text Index غير مفعلة لديك ولكي تقوم بتفعيلها قم بأتباع المسار التالي الرمز: SQL Server Tool->SQL Server Configuration Manage->Service->Full Text Search filter Demon Launcher وقم بعمل start automatic انتهى درس في كيفية التعامل مع خاصية في السيكوال سيرفر Full Text Index - smss - 24-09-12 طب لماذا لم تقم بتوضيح الفائدة منها اولا ^_^ درس في كيفية التعامل مع خاصية في السيكوال سيرفر Full Text Index - كلكامش الألكتروني - 25-09-12 smss الذي يبحث على هذه الخاصية وكيفية استخدامها ^_^ سوف يكون مدرك ما اهميتها ^_^ وما فائدتها |