کوئری مناسب برای جستجوی پیشرفته

masima

Member
سلام
برای یک جستجوی پیشرفته چه چیزایی را باید در نظر بگیرم ؟ چه موردایی رو باید رعایت کنم؟ میخوام کوئری مناسبی بنویسم
کسی میتونه بگه ؟
سپاسگزارم
 

Domanjiri

Well-Known Member
درود بر شما

این که چه کوئری بنویسید و چه فیلد هایی توی سرچ پیشرفته داشته باشید که اصولن به ما مربوط نمیشه و شما باید تصمیم بگیری که چه فیلتر هایی بزارید.

اما اینکه چطور کوئری بنویسید، کلا از این حالات خارج نیست(گمون کنم!):

شما می خواین بصورت مقایسه ای سرچ کنید، تقریبا فراگیر ترین حالته ( همین سرچ معمولی خودمون هست دیگه!) => استفاده از LIKE و STRCMP و...این لینک رو ببینید.

شما می خواین دنبال یه الگو بگردید، مثلن همه نام هایی که با حرف "د" شروع میشن => استفاده از پترن در mysql ...این لینک رو ببینید

شما می خواین یه متن (FULLTEXT) رو سرچ کنید (مناسب برای فیلد توضیحات و عناوین و...) => استفاده از MATCH و .. این لینک رو ببینید

باقی مسائل هم که چنتا AND و OR هست و ...فقط لینک ها رو بدقت بخونید.

پیروز باشید.
 

masima

Member
منظورم یه چیز دیگست!
میخوام بگم مثلا ما میریم گوگل و اینا کاوش (جستجو) می کنیم ، همچین عبارتی رو ؛ "فروشگاه خرید و فروش موبایل" بعد تو نتیجه هایی که موتور جستجوگر نشون میده ؛ هر سایتی که یه جاش نوشته "فروشگاه" ، "خرید" ، "فروش" ، "موبایل" ، "فروشگاه خرید" ، "فروشگاه خرید و فروش" ، "خرید و فروش" ، و ........... "فروشگاه خرید فروش موبایل" می یاد!

خوب من میگم اگه بخوام مثل این جستجوگرها کوئری تنظیم کنم، کاربر بیچاره میشه که ! باید کلی جستجوهای الکی رو ببینه! و اگه بخوام بر اساس عبارت کامل کوئری جستجو بنویسم ، ممکنه عبارت مورد جستجو پیدا نشه در حالی که دقیقا مطلب مورد نظر کاربر توی پایگاه داده هام وجود داشته باشه!
سوالم اینه کدوم راه بهتره ؟:-?
من خودم خیلی شده برم تو سایت های مختلف جستجو کنم و نتیجه های .... بیاد ، که من نمی خوامشون!

سوالم اینه چی کا کنم که نه از این ور بوم بیوفتم و نه از اون ور ؟

یعنی چطور تشخیص بدم واژه هایی که کابر جستجو میکنه تا چه حد واژه های کلیدی هستند که باید به صورت match case جستجو بشن و یا چه قدر میتونم انعطاف پذیری توی جستجو بکار ببرم و match کامل نباشه ؟
 

Domanjiri

Well-Known Member
البته فکر نکنم گوگل اینطور که شما میگید باشه هااا..(فکر کنید الان شما میخواین بزنید رو دست گوگل:green:)

راهش همونیه که عرض کردم، شما باید از عبارات مناسب در کوئری جستجو استفاده کنید، مثلن بین وقتی که کاربر یک کلمه رو سرچ می کنه و وقتی که یک جمله رو سرچ می کنه باید تفاوت قائل بشین و دو کوئری مجزا رو اجرا کنید و ...

البته اگه کاربرای سر به راهی دارین(!) می تونید یه راهنما کنار فرم جستجو بزارید و توش کاربر رو راهنمایی کنید که مثلن «سلام- چطوری» نتایجی رو نشون میده که چطوری توشون هست ولی سلام نه! (زحمت برنامه نویسیش هم که گردن شماست!)
البته متاسفاه توی این مورد،رقیبتون، گوگل از شما پیشی گرفته و قبلن این کار رو انجام داده[ شوخی:green:]

پیروز باشید
 

جدیدترین ارسال ها

بالا