View Full Version : سوال: چگونه "مطالب مرتبط هر پست را" با فیلد کلمات کلیدی که هر پست داره، به کاربر نمایش بدیم ؟
scarce
شنبه 10 آبان 1393, 12:26 عصر
سلام وقتتون بخیر
آیا راهی وجود داره که بتونیم مطالب مرتبط با پست های ارسالی رو به صورت اتوماتیک به کاربر نمایش بدیم
جدول پست ها دارای فیلد های زیر می باشد:
1. فیلد عنوان
2. فیلد متن
3. فیلد کلمات کلیدی
بطور مثال فرض کنید 4 تا پست در سایت قرار داره که دارای کلمات کلیدی زیر می باشند
و پست ها به شکل زیر دارای کلمات کلیدی در جدول پست ها ذخیره شدند :
1.بیوگرافی،بهرامی،زندگی نامه،هنرمند
2.هنرمند،بازیگر
3.بیوگرافی،هنرمند
4.زندگی نامه،بیوگرافی
---------------------------------
حالا می خوام اگه هر یک از پست های زیر رو به کاربر نشون داده شد سه تا پست دیگه که دارای کلمات کلیدی های مشابه می باشند هم به عنوان مطالب مرتبط در زیر هر پست نمایش داده بشه.
ممنون میشم کمکم کنید.
En_MK
شنبه 10 آبان 1393, 21:47 عصر
هنگام insert هر مطلب چندین کلمه کیلیدی هم insert میکنیم بعد هنگام لود یک مطلب توی دیتابیس مطالبی که کلمات کیلیدی مشابه این مطلب دارند را هم بصورت thumbnail نمایش میدیم
barzin144
شنبه 10 آبان 1393, 22:46 عصر
دوست عزیز از نظر من باید فیلد کلمات کلیدی رو حذف کنید. یه جدول فقط ای دی و کلمات کلیدی داشته باشد، یه جدول هم ای دی مطالب و ای دی کلمه ای که در کلمات کلیدی اون مطلب هست .
scarce
یک شنبه 11 آبان 1393, 10:12 صبح
هنگام insert هر مطلب چندین کلمه کیلیدی هم insert میکنیم بعد هنگام لود یک مطلب توی دیتابیس مطالبی که کلمات کیلیدی مشابه این مطلب دارند را هم بصورت thumbnail نمایش میدیم
daraya , هر مطلب دارای کلمه کلیدی می باشد. یعنی هنگامی که insert میشه با کلمه کلیدی insert میشه، چون کلمات کلیدی با ویرگول از هم جدا میشه سخت میشه تک تک کلمات کلیدی یک فیلد رو در دیتابیس جستجو کرد.
دوست عزیز از نظر من باید فیلد کلمات کلیدی رو حذف کنید. یه جدول فقط ای دی و کلمات کلیدی داشته باشد، یه جدول هم ای دی مطالب و ای دی کلمه ای که در کلمات کلیدی اون مطلب هست .
این راه خوبه ولی باعث میشه تعداد جدول ها زیاد بشه و همینطور تعداد جستجو ها،
من از متد linq to sql استفاده می کنم
نمونه کد جهت نمایش پست مورد نظر به کاربر به شکل زیر هست
dim _Q = from dt in db.tPost
WHERE PostID=_varPostID
dat.DataSource = _Q
dat.DataBind()
چون کلمات کلیدی با ویرگول از هم جدا میشن آیا میتونیم اون رو به صورت لیست دربیاریم و بعد جستجو کنیم ؟ چگونه !؟
barzin144
یک شنبه 11 آبان 1393, 11:28 صبح
دوست عزیز رابطه بین کلمات کلیدی و مطالب یک رابطه چند به چند است یعنی هر مطلب چند کلمه کلیدی دارد و هر کلمه کلیدی متعلق به چند مطلب است ، راه درستش جدا کردن جدول ها است، طبق جدول شما اگه 100 تا مطلب کلمه کلیدی "بازیگر" رو داشته باشن شما 100 بار باید تکرار کنی در جدولتون (افزونگی در دیتابیس) در ضمن شما در اون حالت نمیتونید به کسی که در حال نوشتن مطلب هست کلمات کلیدی که مطالب دیگه ازش استفاده میکنند پیشنهاد بدید پس اون فرد باید دقیقا همووون کلمه رو تایپ کنه که مطالب مرتبط شوند.
behzadamin12
یک شنبه 05 بهمن 1393, 18:18 عصر
میشه بگید که چه جوری از mysql کلمات کلیدی رو بخونم یعنی میخونمشون
ولی میخام گوگل این کلمات کلیدی رو برا مطلب بشناسه
چیکارش کنم؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.