-
نوشتن جستجو...
سلام
ما یه مدیریت محتوا داریم
می خواستیم جستجویش رو بنویسیم
مثلا:
می خواهیم در سایت خبری اگر جمله زیر رو سرچ کردن
انتخابات ریاست جمهوری ایران
1-جمله بالا کامل جستجو بشه و خبر های که جمله بالا داخلش بود (بدون پیش و پس کردن کلمات یعنی دقیقا جمله بالا) رو لیست کن
2-بعد بگرده در متن خبر ها هر کدام که کلمه های:
انتخابات
ریاست
جمهوری
ایران
بود رو پیدا کنه و به ترتیب هر کدام از خبر ها تعداد کلماتی که در بالا گفتم (4 مورد) داخلش بیشتر بود رو به ترتیب نمایش بده
مثلا اول خبرهای که 4 کلمه داخل بود رو نمایش بدهد بعد 3 تا کلمه بود نمایش بده و ...
البته اینو بگم می خوام با یک بار رفتن و کل مطالب را خواند تمام جستجو ها رو انجام دهد نه این که یک بار کل جمله رو سر کنه بعد تک تک کلمات رو سرچ کنه و آخر لیست کند
ممنون میشم کمک کنید
-
-
May 10th, 2016 23:51
# ADS
-
عضو انجمن
پاسخ : نوشتن جستجو...
میتونه اول سرچ کنه اگه از این 4 تا کلمه بود فراخوانی کنه بعد براش دستور شرطی بزارین و... که اگه دقیقا این جمله توش بود و اگه سه تا بود و دوتا بود به ترتیب نشون بده
-
تعداد تشکر ها از miladtnt به دلیل پست مفید
-
عضو دائم
پاسخ : نوشتن جستجو...
باسلام، ابتدا مدیریت محتوا شما چیست و با چه زبانی نوشته شده است.
-
تعداد تشکر ها ازT.Toosi به دلیل پست مفید
-
پاسخ : نوشتن جستجو...

نوشته اصلی توسط
miladtnt
میتونه اول سرچ کنه اگه از این 4 تا کلمه بود فراخوانی کنه بعد براش دستور شرطی بزارین و... که اگه دقیقا این جمله توش بود و اگه سه تا بود و دوتا بود به ترتیب نشون بده
ممنون خب چگونه سرچ کنه؟
می خواهیم با یک بار سرچ اون نتیجه ای که خدمتون عرض کردم رو بدست بیاوریم نه این که یک بار یکی از کلمات رو جستجو کنه باز کلمه بعد رو جستجو کنه تا آخر... و آخر دستور شرطی بذاریم
آیا راهی هست که با یک بار جستجو در کل اطلاعات این عمل انجام بشه؟
شما فکر کنید ما ده ها هزار خبر داریم

نوشته اصلی توسط
T.Toosi
باسلام، ابتدا مدیریت محتوا شما چیست و با چه زبانی نوشته شده است.
سلام
ممنون بات پاسخ
c# , sqlserver
-
-
عضو دائم
پاسخ : نوشتن جستجو...

نوشته اصلی توسط
aliff
ممنون خب چگونه سرچ کنه؟
می خواهیم با یک بار سرچ اون نتیجه ای که خدمتون عرض کردم رو بدست بیاوریم نه این که یک بار یکی از کلمات رو جستجو کنه باز کلمه بعد رو جستجو کنه تا آخر... و آخر دستور شرطی بذاریم
آیا راهی هست که با یک بار جستجو در کل اطلاعات این عمل انجام بشه؟
شما فکر کنید ما ده ها هزار خبر داریم
سلام
ممنون بات پاسخ
c# , sqlserver
راهنماییتون کنم قادر به کد نویسی هستید که ؟ آشنایی با دستورات sql دارید ؟
-
-
عضو انجمن
پاسخ : نوشتن جستجو...
اقای t.toosi بهتر میتونن راهنمایی کنن
باید تو sql وقتی فراخوانی میکنین یه متغیر درست کنین مثلا x بعد یه حلقه قرار بدید برا تعداد کلمات اون چیزی که سرچ میشه به ازای هر کلمه سینتکس رو تو متغیر اضافه کنه و یه رشته بسازه مثل و مثل یه دستور شرطی SQL باشه
اینجوری شه اخرش :
MOTEGAYER = TEXT LIKE %ENTEKHABAT% OR TEXT LIKE %RIYASAT% OR TEXT LIKE %JUMHURI%
توجه کنین اونایی که بین %گذاشتم متغیرن و %بکار میره که یعنی بعدو قبلش میتونه کلمات دیگه باشه
خب حالا همه اونایی که این کلماتو دارن رو دراوردیم
بریزید تو ارایه هرکودومو و دستور شرطی بزارید بقیش رو ادامه بدید
- - - Updated - - -
اینم بگم وقتی اون متغیر رو ساختید اینجور از دیتابیس سلکت میکنین
SELECT * FROM DB WHERE MOTEGAYER
-
-
پاسخ : نوشتن جستجو...
بله خودم برنامه نویس هستم
- - - Updated - - -
تا اینجاشو مشکلی ندارم ولی میخوام براساس وجود کلمه ها سورت بشه
مثلا اونیکه بیشترین کلماتو داره بیاد اول و ...
-
-
عضو انجمن
پاسخ : نوشتن جستجو...
اونو از دیتابیس سورت نکنین خودتون دستور شرطی بزارین
-
-
عضو دائم
پاسخ : نوشتن جستجو...
شما ابتدا جمله را سرچ کن خبر هایی که مساوی بودند داخل یک آرایه دو بعدی بریزید همراه با یک کانتر، سپس جمله را اسپلیت کنید به ToCharArray الان یک آرایه به نام searchvalues، حالا متن خبر هم با اسپیس اسپلیت کنید که یک آرایه میشود با نام newscontent، حالا سه تا حلقه تو در تو نیاز داریم که در آرایه اولی به ازای هر newscontent یک حلقه با شرط قرار میگیرد برای آرایه searchvalues در حلقه سوم به ازای هر دفعه که پیدا میکند کانتر آرایه اولی را یکی اضافه کنید و در آخر به ترتیب کانتر یا سورت آرایه دو بعدی که ساختیم میتوانید محتوا یا .. نمایش دهید.
-
-
May 12th, 2016, 13:03
#10
پاسخ : نوشتن جستجو...

نوشته اصلی توسط
T.Toosi
شما ابتدا جمله را سرچ کن خبر هایی که مساوی بودند داخل یک آرایه دو بعدی بریزید همراه با یک کانتر، سپس جمله را اسپلیت کنید به ToCharArray الان یک آرایه به نام searchvalues، حالا متن خبر هم با اسپیس اسپلیت کنید که یک آرایه میشود با نام newscontent، حالا سه تا حلقه تو در تو نیاز داریم که در آرایه اولی به ازای هر newscontent یک حلقه با شرط قرار میگیرد برای آرایه searchvalues در حلقه سوم به ازای هر دفعه که پیدا میکند کانتر آرایه اولی را یکی اضافه کنید و در آخر به ترتیب کانتر یا سورت آرایه دو بعدی که ساختیم میتوانید محتوا یا .. نمایش دهید.
ممنون
ولی اینطوری فشار زیادی میاره
شما حساب کنید باید داخل 10 هزارتا مطلب که هرکدام حداقل 20 خط هست جستجو کنه، با این روش کلا میترکه فکر کنم
ما دنبال راهی هستیم که جستجو را با سریعترین روش انجام بده
یکی از دوستان گفتن پترن ایجاد میشه داخل دیتابیس و میدیم به جستجوی خود دیتابیس و میگرده
یکی دیگه کتابخانه لوسین را معرفی کرد
در یک انجمن هم استفاده از جستجو بصورت full text search پیشنهاد دادن
-