راکت
حل شده

جستجو کلمه مشابه

18 پاسخ

@ali.bayat
@khanzadimahdi

        $similarto=DetailsModel::Where('name_links_downloads', 'like', "%{$str3}%")->take(20)->get();

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

وضعیت شیعیان عربستان,   شکار گوزن در عربستان سعودی

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

ftp
ftp
@ftp
ثبت پرسش جدید

پاسخ‌ها

18
ftp
ftp
@ftp

تخصص: ساده

بهترین پاسخ
حساب مشترک
حساب مشترک
@amirali.hannan

تخصص: برنامه نویس وب و موبایل

سلام
شما میتونید یک orWhere بزارید و ایندفعه به جای like از sound like استفاده کنید تا مشابه ترین هارو بیاره .

ftp
ftp
@ftp

تخصص: ساده

@amirali.hannan
@ali.farmani
زدم نشدکدم اینه

        $similarto=DetailsModel::Where('name_links_downloads', 'LIKE', "%{$str3}%")->orWhere('name_links_downloads', 'SOUNDLIKE', "%{$str3}%")->take(20)->get();

شاید پاسخ شما همین‌جا باشد

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

به صورت زیر باید باشه

$similarto=DetailsModel::Where('name_links_downloads', 'LIKE', "%{$str3}%")->orWhere('name_links_downloads', 'sounds like', "%{$str3}%")->take(20)->get();
ftp
ftp
@ftp

تخصص: ساده

@khanzadimahdi
@ali.bayat
باز خالی نشون میده
من میخوام یک کلمه مشابه هم داشت نمایش بده مثلا کلمه اصلی =ایران سرزمین من
کلمه مشابه=ایران من یا سرزمین من
باید هر دو رو پیدا کنه اما پیدا نمیکنه

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

باید الاستیک سرچ استفاده کنید اگه میخواید خیلی خوب در بیاد. در غیر اینصورت متن رو به کلمات مختلف بشکنید بعدش سرچ بزنید به ازای کلمات.

amir
amir
@amirmi6500

علتش اینکه جستو که داره انجام میشه بر اساس ردیف و باید براساس ستون صورت بگیره تا نمایش بده میتونی از or و () استفاده کنی
موفق باشی

ftp
ftp
@ftp

تخصص: ساده

@amirmi6500
متوجه نشدم میشه تو کد بگی
اگه منظورت انتخاب ستونه name_links_downloadsاین خودش ستونه

ftp
ftp
@ftp

تخصص: ساده

@khanzadimahdi
اینو میشه بیشتر توضیح بدی و آموزش elastic هم میتونی منبع معرفی کنی آموزشاش خیلی گنگه

ftp
ftp
@ftp

تخصص: ساده

@khanzadimahdi
@amirali.hannan
الان فرق likeبا sound likeچیه هر دو یک کار انجام میدن

ftp
ftp
@ftp

تخصص: ساده

@khanzadimahdi
این که میگید کلمات رو بشکنید من الان بشکنم وجستجو کنم بعدا چطوری بگم کدوم جستجو رو به من نشون بده چون نتیجه جستجو رو گفتم محدود باشه

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

از چ نظر محدود باشه؟ منظور محدودیت تعدادشه یا مثلا محدود به یکسری قوانین دیگه ؟

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

از چ نظر محدود باشه؟ منظور محدودیت تعدادشه یا مثلا محدود به یکسری قوانین دیگه ؟

ftp
ftp
@ftp

تخصص: ساده

@khanzadimahdi
بله محدود در تعداد
و اگه به روش شما بگم جستجو کن کلمه کلیدی من آخرین کلمه باشه و من گفتم ۱۰ تا اول رو نشون بده

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

میتونید جستجو ها رو باهم union کنید و در انتها limit بزارید تا تعدادشون محدود بشه.

یا روش بهتر این هست که از چندین orWhere استفاده کنید و در اخر limit بزارید.

ftp
ftp
@ftp

تخصص: ساده

@khanzadimahdi
الان کد من اینه

$iu="برنامه نویسی php"
similarto = DetailsModel::where('category','like',"%".$iu."%")]}%")
            ->orderby('tedad_bazdid','desc')->limit(10)->latest()->get();

‍‍‍میشه راهنمایی کنید

سید محمد هاشمی
سید محمد هاشمی
@smhkhorram

تخصص: برنامه نویس فول استک

@khanzadimahdi
الان من دقیقا همین مشکل رو دارم ولی متاسفانه هنوز نتیجه نگرفتم .
فرض کنید یک کاربر یک متنی رو میخواد پست کنه روی سایت. من میخوام یه سری کلمات رو توش بررسی کنم که اگر این کلمات توش بود ، جلوی پستش رو بگیرم.

مشکلی پیش میاد اینه که مثلا یکی از کلمات ممنوعه اینه : فوتبال
حالا متنی که کاربر میفرسته اینه : من کارتون فوتبالیتست ها رو دوست داشتم ...

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

برای این موضوع راه حلی دارید ؟

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

بهتره از الاستیک سرچ استفاده کنید. یا اینکه regex بزنید توی دیتابیس.

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

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