شریفی
2 سال پیش توسط شریفی مطرح شد
2 پاسخ

بهترین روش جستجو بین محصولات مثل سایت دیجی کالا

سلام دوستان .

من می خوام در بین محصولات با توجه به متن وارد شده توسط کاربر جستجو انجام بدم از fulltext توی لاراول استفاده می کنم دقیق نتیجه رو برنکی گردونه مثلا اگر یه محصول با عنوان جاروشارژی و یک محصول دیگه با عنوان جارو برقی باشه اگه کاربر کلمه جارو رو سرچ کنه فقط جارو شارژی ها رو میاره . بنظرتون از چی باید استفاده کنم که مثل سایت دیجی کالا دقیق باشه . ممنون راهنمایی کنیید.


ثبت پرسش جدید
میکائیل
تخصص : برنامه نویسی سمت سرور و کلاینت
@FullStack 2 سال پیش آپدیت شد
0

سلام وقت بخیر
من واسه خودم یه سرچ نوشتم که حتی اگه چندین محصول رو توی سرچ بزنه مثلا جارو ساعت دوچرخه میاد محصولاتی که مربوط به این سه تا هست رو بر میگردونه و جاروبرقی و جارو شارژی و کلاجارو روهم گذاشتم و سا سرچ کردن جارو همه رو برگشت داد کدشو میزارم حالا خواستی استفاده کن

function search(Request $request)
    {
        $query = $request->q;

        if (!empty($query)) {
            $searches = explode(' ', $query);
            $results = Product::where('status', 'active')->orderBy('created_at', 'desc')->where(function ($query) use ($searches) {
                foreach ($searches as $search) {
                    $query->orWhere('title', 'LIKE', '%' . $search . '%');
                }
            })->paginate($request->limit);

            if ($results->count() > 0) {
                $data = [
                    'message' => 'محصولات مورد نظر پیدا شد',
                    'error' => false,
                    'Product' => ProductResource::collection($results->items())
                ];
            } else {
                $data = [
                    'message' => 'نتیجه ای یافت نشد',
                    'error' => true,
                    'Product' => []
                ];
            }
        } else {
            $data = [
                'message' => 'جستجو کنید',
                'error' => true,
                'Product' => []
            ];
        }
    }

این روش خوبیش اینه که حتی اگه کاربر بزنه جارو برقی هم جارو برقی رو میاد میاره هم هرچی توش جارو باشه رو حالا من اینو مناسب برنامه خودم نوشتم خودت میتونی بالو پر بهش بدی و بهترش کنی برای سایت خودت


سید میثاق موسویان
تخصص : توسعه دهنده
@misaghmoosavian 2 سال پیش مطرح شد
0

سلام به صورت کلی وقتی میخوای سرچ انجام بدی برای راحتی کار کاربر باید روی تمام المانهایی که به اون ابجکت مورد نظرربط داره رو انجام بدی و اگه محصولاتت جز یه دسته بندی باشن طبق مثال خود میشه جارو میتونی راحت جواب بگیری یا تگ هایی رو معرفی کنی کلمات کلیدی که با تو مثال خودت میشه جارو و بعد ببینی کدوم محصول شامل این تک میشه

داخل لاراول میتونی از orWhereHas برای سرچ کردن داخل جدول های مرتبط استفاده کنی


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام