ارسال پاسخ 
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد Full Text Search در SQL Server
03-16-2015, 02:27 AM (آخرین ویرایش در این ارسال: 12-15-2015 08:06 PM، توسط ali.)
ارسال: #1
ایجاد Full Text Search در SQL Server
ایجاد فول تکست سرچ در اس کیو ال سرور
Full Text Search امکان index کردن و جستجوی دیتای متنی را بر مبنای لغات کلیدی در SQL Server فراهم می کند . بر خلاف LIKE که محدوده عمل آن روی کاراکترهاست ، Full Text Search بر روی کلمات بر مبنای زبان ِ متن ، پرس و جو انجام می دهد . اختلاف سرعت Full Text Search و LIKE در زمانی که می خواهیم یک Query را بر روی چند میلیون رکورد اجرا کنیم بسیار مشهود است . اگر با LIKE دنبال یک ترکیب بگردیم ، تهیه گزارش ممکن است چندین دقیقه طول بکشد در حالی که استفاده از Full Text Search آن را به چند ثانیه کاهش می دهد. دستور LIKE نمی تواند درون ستون های باینری جستجو کند. query های حاوی LIKE در متن های با حجم بالا بسیار کندتر از Full-Text Search اجرا می شود.
برای جستجو در متنهای حجیم از Full-Text Search استفاده می شود. Full-Text Search از قابلیتهای برجسته SQL Server می باشد. جستجوی یک عبارت در پایگاه داده امری ضروری برای اکثر برنامه‌های تحت وب است. این امر به سادگی با یک کوئری شبیه:
کد:
SELECT * FROM `myTable` WHERE `text` LIKE '%زیتون%'
قابل انجام است.
اما زمانی که تعداد رکوردهای ما زیاد باشد و دیتابیس ما سنگین باشد (مثلا 5 میلیون رکورد در یک جدول داشته باشیم) آنگاه جستجوی یک عبارت ساده نیز بسیار زمان‌بر خواهد بود. برای این منظور از قابلیت Full Text Search در SQL Server استفاده می نماییم که مراحل فعال سازی و انجام تنظیمات آن به شرح ذیل می باشد.
ابتدا یک جدول ایجاد می نماییم و تعدادی رکورد تصادفی در آن درج می نماییم.
کد:
CREATE TABLE [dbo].[tblBooks0](
    [BookIS] [int] IDENTITY(1,1) NOT NULL,
    [BooksTitle] [nvarchar](255) NOT NULL,
CONSTRAINT [PK_tblBooks] PRIMARY KEY CLUSTERED
(
[BookIS] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

[تصویر:  6356210438957844140FT10001.jpg]
در مرحله بعدی نوبت به ایجاد FULLTEXT STOPLIST می باشد. برای این منظور هم می توان از طریق کد نویسی عمل نمود و هم از طریق ویزارد.
کد:
CREATE FULLTEXT STOPLIST StopListName;
GO
مثال:
CREATE FULLTEXT STOPLIST BooksStopList;
GO

[تصویر:  6356210459224678580FT10002.jpg]

[تصویر:  6356210471349552250FT10003.jpg]

پس از ایجاد Full text Stoplist خالی بایستی کلمه هایی که می خواهیم در جستجو اعمال نشوند به لیست اضافه نماییم. برای این منظور نیز دو راه وجود دارد. یکی از طریق کد نویسی SQL و دیگری از طریق ویزاردهای خود برنامه.

[تصویر:  6356210709620502960FT10004.jpg]

شکل کلی دستور برای درج کلمه ای که نمی خواهیم در جستجو مورد توجه قرار گیرد:

کد:
ALTER FULLTEXT STOPLIST [StopListName] ADD 'کلمه مورد نظر' LANGUAGE 'Arabic';

شکل کلی دستور برای حذف یک کلمه که در Stop List از قبل موجود می باشد:

کد:
ALTER FULLTEXT STOPLIST [StopListName] DROP 'کلمه مورد نظر' LANGUAGE 'Arabic';

شکل کلی دستور برای حذف کلیه کلمه های موجود در Stop List:

کد:
ALTER FULLTEXT STOPLIST [StopListName] DROP ALL LANGUAGE 'Arabic';

با استفاده از این دستور کلیه لغتهایی که با زبان عربی در Stop List درج شده اند حذف می شوند.
درج یک سری کلمه در Stop List مربوط به دیتا بیس کتابخانه با عنوان tblBooks0

کد:
ALTER FULLTEXT STOPLIST [BooksStopList] ADD 'به' LANGUAGE 'Arabic';
ALTER FULLTEXT STOPLIST [BooksStopList] ADD 'است' LANGUAGE 'Arabic';
ALTER FULLTEXT STOPLIST [BooksStopList] ADD 'کجا' LANGUAGE 'Arabic';
ALTER FULLTEXT STOPLIST [BooksStopList] ADD 'و' LANGUAGE 'Arabic';
ALTER FULLTEXT STOPLIST [BooksStopList] ADD 'شد' LANGUAGE 'Arabic';

برای مشاهده تعداد Stop List های موجود در یک پایگاه داده از کد SQL زیر استفاده می شود:

کد:
select * from sys.fulltext_stoplists

[تصویر:  6356210737723430130FT10005.jpg]


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پیام‌های داخل این موضوع
ایجاد Full Text Search در SQL Server - ali - 03-16-2015 02:27 AM

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان