PDA

View Full Version : الگوریتم Search



SoheilKH
جمعه 14 آذر 1382, 05:44 صبح
یک سایت داریم که قابلیت Search در دیتا بیس را دارد.

راهی که خودم برای نوشتن الگوریتم search به نظرم رسید. استفاده از دستور

Select * from Tblname where Filed Name like="Text

است که نتیجه رو در دیتا گرید نمایش بده.
به نظر شما راهی درستی است به مشکل بر نمی خورم کسی از دوستان راه بهتری سراغ داره (یا مقاله)

marandi
دوشنبه 01 دی 1382, 13:34 عصر
سلام
انتخاب دستور درسته؟...
اما آیا شما فکری برای جستجوهای چند فیلدی یا چند کلمه ای کرده اید.. برای مثال من در فیلد جستجو عبارت 'کامپیوتر رم CPU' را وارد می کنم در راه حل شما هیچ نتیجه ای حاصل نمی شود برای جلوگیری از این مشکل باید شما یک SQL Builder ایجاد نمایید و سپس قانون های خود را در آن تعریف نمایید به عنوان مثال استفاده از کاراکتر های + - و ... که در جستجو گرهای بزرگ خیلی مرسوم می باشد یا اینکه در مورد ساده تر جستجوی همه ی کلمات در یک فیلد یا تنها یکی از تمامی آن کلمات.
در مورد High Light کلمات نیز شما می توانید با ایجاد یک Procedure در حد واسط میان خروجی Database با Table نتیجه خود به این هدف به راحتی دست یابید. تنها کار این Procedure دریافت کلمات ورودی کاربر به صورت پارامتر و جایگزین کردن این کلمات با عبارت
<FONT COLOR=#XXXXXX><B>%WORD%</B></FONT>
می باشد.

SoheilKH
سه شنبه 02 دی 1382, 13:37 عصر
مرندی جان خیلی ممنون
الگوریتمی که گفتم شاید راحت ترین و ساده ترین راه باشد
البته یه راه دیگه هم تونستم پیدا کنم که بی ربط به جواب شما نیست

تمام کلماتی متن هایی را که قرار است باید مورد سرچ قرار گیرند.در جدول دیتابیس قرار می دهیم .
هر ردیف از این جدول ما مشخص کننده پاراگراف متن مورد نظر است.
یه جدول Noise هم داریم که کلماتی که شما مثال زدید مثل " را ،از ، ....." در ان ها قرار دارند که برای سرچ ابتدا تست میکند که ایا در این جدول قرار دارد یا نه.

این الگوریتم به طور کامل در Community Starter kit وجود دارد.