PDA

View Full Version : جستجوی متنی در چند فیلد



Mushtava
سه شنبه 13 اردیبهشت 1390, 13:12 عصر
با سلام
من یک جدولی دارم با حدود یک میلیون رکورد که فیلدهای عنوان، نام مدیر، آدرس و توضیحات آن از نوع nvarchar هستند.
برای جستجو در این جدول برای این فیلد ها fulltext index گذاشتم.
حال می خوام یک رشته که از چندین کلمه تشکیل شده را جستجو کنم به طوری که هر یک از کلمات در یکی از فیلد ها باشد.
برای این کار کوئری زیر را نوشتم ولی بسیار کند کار می کند.
راه حل لطفا:متفکر:ً!!!

select * from myTable
where contains(*,N'"word1*"')
and contains(*,N'"word2*"')
and contains(*,N'"word3*"')
and...

AminSobati
پنج شنبه 15 اردیبهشت 1390, 20:41 عصر
سلام دوست عزیزم،
برای فیلدهای کوچک مثل نام میتونین از ایندکس عادی (Clustered/Non Clustered) استفاده کنین که احتمالا بهتر از FTS نتیجه میده. حالا اون شرطها رو AND کنین با جستجو توسط Contains روی آدرس