Electronic Gilgamesh

عزيزي الزائر كما هو واضح بأنك زائر للمنتدى لذى نود ان ندعوك الى الدخول ان كانت لديك عضوية او التسجيل في المنتدى نتشرف بتواجدك معنا حيث المعلومة الجديدة والدروس التعليمية الحصرية
Electronic Gilgamesh

For information & communication technology


    درس في كيفية التعامل مع خاصية في السيكوال سيرفر Full Text Index

    شاطر

    Admin
    Admin
    Admin

    عدد الرسائل : 117
    تاريخ التسجيل : 02/09/2008

    درس في كيفية التعامل مع خاصية في السيكوال سيرفر Full Text Index

    مُساهمة من طرف Admin في الخميس سبتمبر 13, 2012 11:39 pm

    السلام عليكم ورحمة الله وبركاته,
    تحية طيبة
    وددت اليوم ان اقدم لرواد هذا المنتدى الزاخر بالمعرفة معلومة لطالما سألوني الكثير حولها
    وهي كيفية التعامل مع خاصية 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] LANGUAGE 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


    انتهى

      الوقت/التاريخ الآن هو الخميس ديسمبر 08, 2016 2:18 am