نمایش نتایج 1 تا 11 از 11

نام تاپیک: جستجو در دیتابیس

  1. #1

    Unhappy جستجو در دیتابیس

    سلام. یه مشکل دارم . میخوام یه رشته رو توی دیتابیس MySQL جستجو کنم. اگر مشابهش توی دیتابیس بود هم پیدا بشه .
    یعنی مثلا من اگر جستجو کردم «سلام حال شما چطور است» اگر در دیتابیس عبارت «سلام کردن چطور است» بود پیدا بشه.
    استفاده از LIKE حداقل به اون شکلی که من میدونم به دردم نمیخوره خیلی نتایج خوبی برنمیگردونه . این که بیایم کلمات رشته رو explode کنیم و دونه دونه با LIKE چک کنیم هم نتایج دقیقی برنمیگردونه . ممنون میشم کمکم کنید.

  2. #2
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: جستجو در دیتابیس

    با ویلدکارد ها نمیشه ؟؟
    https://www.w3schools.com/sql/sql_wildcards.asp

  3. #3

    Question نقل قول: جستجو در دیتابیس

    نقل قول نوشته شده توسط Farshid007 مشاهده تاپیک
    با ویلدکارد ها نمیشه ؟؟
    https://www.w3schools.com/sql/sql_wildcards.asp
    مشکل من ترتیبه .
    چیزی که تو ذهن من هست اینه که وقتی سرچ میکنم « آهنگ حمید عسکری اگه به تو نمیرسم »
    بیام اینو کلمه به کلمه explode کنم و بعد تک تک کلمه ها رو با LIKE از دیتابیس بخونم.
    اگر بشه کاری کرد که ترتیب جوری باشه که اونی که بیشترین تعداد کلمات مشترک با متن جستجو شده رو داره بالاتر بیاره مشکل حله.
    ولی اینجوری وقتی سرچ کنی « آهنگ حمید عسکری اگه به تو نمیرسم »
    نتایجی میاره مثل :
    آهنگ حمید صفت بخشش » چون «حمید» داره !
    امیر تتلو اگه راستشو بخوای » چون «اگه» داره !

    حالا اون آهنگ حمید عسکری هم میاره !
    ولی بالا نیست.
    چجوری مرتب کنم

    یا اگر راه دیگه ای هست دنبالشم

  4. #4
    کاربر دائمی آواتار sara_aryanfar
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    جایی در ایران
    پست
    1,507

    نقل قول: جستجو در دیتابیس

    نقل قول نوشته شده توسط mohamad3519 مشاهده تاپیک
    مشکل من ترتیبه .
    چیزی که تو ذهن من هست اینه که وقتی سرچ میکنم « آهنگ حمید عسکری اگه به تو نمیرسم »
    بیام اینو کلمه به کلمه explode کنم و بعد تک تک کلمه ها رو با LIKE از دیتابیس بخونم.
    اگر بشه کاری کرد که ترتیب جوری باشه که اونی که بیشترین تعداد کلمات مشترک با متن جستجو شده رو داره بالاتر بیاره مشکل حله.
    ولی اینجوری وقتی سرچ کنی « آهنگ حمید عسکری اگه به تو نمیرسم »
    نتایجی میاره مثل :
    آهنگ حمید صفت بخشش » چون «حمید» داره !
    امیر تتلو اگه راستشو بخوای » چون «اگه» داره !

    حالا اون آهنگ حمید عسکری هم میاره !
    ولی بالا نیست.
    چجوری مرتب کنم

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

  5. #5
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: جستجو در دیتابیس

    match against رو تست کن
    باید فیلد هارو فول تکست ایندکس کنی و سرچ هم بایدحداقل 3-4 کاراکتر باشه

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

  6. #6

    نقل قول: جستجو در دیتابیس

    نقل قول نوشته شده توسط sara_aryanfar مشاهده تاپیک
    خب از منطق فازی بهره ببر یعنی بیشترین شبهت ها رو بردار و چون یه عنوان تنها حمید رو داره برات نمیاره اینجوری باید اعضای بیشتری از عنوان رو داشته باشه تا برات بیاره
    میشه بیشتر راهنمایی بفرمایین ...

  7. #7

    نقل قول: جستجو در دیتابیس

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    match against رو تست کن
    باید فیلد هارو فول تکست ایندکس کنی و سرچ هم بایدحداقل 3-4 کاراکتر باشه

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

    match against میزنم ارور میده .
    میشه یه نمونه کد الگو برا تست بدین ببینم اشتباهم چیه ؟

  8. #8
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: جستجو در دیتابیس

    چه ارروری میده ؟
    همونجور یکه گفتم باید فیلدت رو fulltext index کنی که innodb قبلا نداشت و اگه دیتبایست قدیمی باشه مجبوری تیبل رو قبلش به myisam تبدیل کنی

    نمونه کد سرچ کن تو نت هست

  9. #9

    نقل قول: جستجو در دیتابیس

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    چه ارروری میده ؟
    همونجور یکه گفتم باید فیلدت رو fulltext index کنی که innodb قبلا نداشت و اگه دیتبایست قدیمی باشه مجبوری تیبل رو قبلش به myisam تبدیل کنی

    نمونه کد سرچ کن تو نت هست

    دیتابیس وردپرسه . برا سایت دانلود آهنگ میخوام ...
    آخرین ویرایش به وسیله mohamad3519 : یک شنبه 23 اردیبهشت 1397 در 12:00 عصر

  10. #10

    نقل قول: جستجو در دیتابیس

    کسی نمیتونه کمک کنه ؟

  11. #11

    نقل قول: جستجو در دیتابیس

    چیزی که به ذهنم میخوره اینه که بیای با explode بشکونی بعدش بیای با دیتا بیس مقایسه کنی خب این تا اینجا . مرحله بعدش میتونی اوناییی که برگردونده رو کاراکتر هاشونو نگاه کنی با متن سرچ شده توسط کاربر مقایسه کنی. بر اساس بیشترین تشابه مرتب سازی کنی واسه این کار . میتونی از regular expression استفاده کنی واسه این کار . حالا من زیاد اطلاعاتی ندارم دوستان شاید بهتر بتونن کمک کنن

تاپیک های مشابه

  1. جستجو در دیتابیس اکسس
    نوشته شده توسط saeid_omrani در بخش VB.NET
    پاسخ: 2
    آخرین پست: دوشنبه 20 آذر 1385, 03:13 صبح
  2. جستجو در دیتابیس اکسس
    نوشته شده توسط جواد کاظمیان در بخش VB.NET
    پاسخ: 4
    آخرین پست: شنبه 04 شهریور 1385, 08:11 صبح
  3. جستجو در دیتابیس (فوری)
    نوشته شده توسط mohammad68 در بخش Classic ASP
    پاسخ: 10
    آخرین پست: یک شنبه 02 مرداد 1384, 14:25 عصر
  4. جستجو در دیتابیس و نمایش آن به صورت حروف الفبا ...
    نوشته شده توسط mohammad68 در بخش Classic ASP
    پاسخ: 4
    آخرین پست: یک شنبه 25 اردیبهشت 1384, 10:37 صبح
  5. جستجو در دیتابیس
    نوشته شده توسط mes در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: شنبه 22 فروردین 1383, 18:43 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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