ورود

View Full Version : اشکال در جستجو کلمات دو سیلابی



mahdy.asia
یک شنبه 16 بهمن 1390, 14:28 عصر
یکسری فایل جاوا و html ضمیمه کردم این فرم ها دارای اشکال در جستجوی کلمات است (index.html) کسی می تونه منو برای رفع این اشکال راهنمایی کند اشکال : کاربر برای مثال کلمه "نرم افزار" را جستجو کند نتیجه جستجو کلمات افزار و نرم را پیدا می کند در صورتی که من مایلم تنها "نرم افزار" پیدا کند

e107365
یک شنبه 16 بهمن 1390, 16:49 عصر
به جای تابعی که تو خط 189 از فایل zoom_search.js شروع میشه این تابع رو جایگزین کن:
function PrintHighlightDescription(line)
{
if (Highlighting == 0)
{
document.writeln(line);
return;
}

res = " " + line + " ";
var wrds = "";

for (i = 0; i < NumSearchWords; i++) {
//if (RegExpSearchWords[i] == "")
//continue;
wrds += RegExpSearchWords[i]+" ";
}
//if (SearchAsSubstring == 1)
res = res.replace(new RegExp("("+wrds+")", "gi"), "[;:]$1[:;]");
//else
// res = res.replace(new RegExp("(\\W|^|\\b)("+RegExpSearchWords[i]+")(\\W|$|\\b)", "gi"), "$1[;:]$2[:;]$3");
//}
// replace the marker text with the html text
// this is to avoid finding previous <span>'ed text.
res = res.replace(/\[;:\]/g, "<span class=\"highlight\">");
res = res.replace(/\[:;\]/g, "</span>");
document.writeln(res);
}

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

mahdy.asia
یک شنبه 16 بهمن 1390, 22:52 عصر
وقتی کاربر کلمه "نرم افزار حسابداری ایران هاست نیک" را جستجو کند انتظار دارد همان چند صفحه ایی را که این جمله را دارد بیاورد نه اینکه کلیه صفحات eBook را بیاورد (هر جا کلمه یکی از کلمات نرم ،حسابداری ،افزار ،نیک،هاست بکار رفته است بیاورد)

امکان نحوه انتخاب جسجو وجود داره ولی عملا تفاوتی با هم نداره
1- شامل شود 2- تمامی موارد
اگه بتونه کسی طوری کد رو اصلاح کنه که اگر شامل شود انتخاب شد کل متن نوشته شده را با همان کم و کیفی که در باکس مورد جسجو تایپ شده است جسجو نماید و اگر همه موارد انتخاب شد هر سیلاب و یا کلمه را جدا جستجو کند و نتایج را برگرداند
تابع شما را استفاده کردم اما برای بعضی جمله ها درست کار نمی کنه
به نظر میاد در مورد جملات که دارای 3 یا بیشتر کلمه هستند درست کار نمی کنه یا اینکه فونتی که داخل باکس جستجو وارد می شه با فونتی که داخل متن است مطابقت نداره چون مثلا یک مورد "کارشناس طراحی نرم افزار" تایپ کردم پیدا نکرد اما از داخل متن کپی کردم و در باکس جستجو قرار دادم مورد پیدا شد

e107365
دوشنبه 17 بهمن 1390, 12:25 عصر
نه از فونت نیست. اون رو که میگین فقط این چند کلمه که تو هر صفحه وجود داشته باشه تو settings.js یه متغییر هست: searchasSubstrings = 1 اون رو صفر کن. اگه درست نشد. باید دوباره با برنامه ی search engine که این صفحه با اون ساخته شده دوباره فایلت رو بسازی و کلمات ایندکس شده رو از نو به دلخواه ایندکس کنی.
گود لاک.

mahdy.asia
سه شنبه 18 بهمن 1390, 04:32 صبح
تو settings.js یه متغییر هست: searchasSubstrings = 1 اون رو صفر کن
با وجود انجام این کار
در مورد همین فایل ضمیمه من دقیقتر تست کردم "کارشناس طراحی نرم افزار" را اگر از روی خود document کپی کنی و در باکس جستجو past کنی و نوع جسجو را تمامی موارد انتخاب کنی مورد جستجو یافت می شود اما اگر حرف "ک" در کارشناس را بلاک کنی و تایپ کنی دیگه نمی تونه موردی را یافت کنه

e107365
سه شنبه 18 بهمن 1390, 10:31 صبح
این کلمات با نرم افزار search engine ایندکس شده اند.
اگر از ابتدا این صفحات را با این نرم افزار نساخته ای، با این نرم افزار از نو کلمات را ایندکس کن. این دفعه کلماتی که می خواهی.

mahdy.asia
چهارشنبه 19 بهمن 1390, 21:58 عصر
من صفحات را ار نرم افزار word وارد این نرم افزار کردم فرض کنید 500 صفحه هستند حال برای اینکه امکان جستجو در صفحات برای کاربر مهیا گردد می بایست برای هر صفحه کلمات را بعنوان ایندکس به نرم افزار معرفی کنم این که کار سختی
است
لطفا بیشتر توضیح دهید

e107365
چهارشنبه 19 بهمن 1390, 22:44 عصر
http://www.wrensoft.com

mahdy.asia
یک شنبه 23 بهمن 1390, 11:58 صبح
1- می تونید نرم افزاری معرفی کنید که Search Page Language به زبان فارسی داشته باشه (Farsi.zlang)
2- چطور می بایست کلمات چند سیلابی را ایندکس کرد (نرم افزار)
3- آیا کلماتی که در ایندکس وجود ندارد قابل جستجو نیست (کلمه های چند سیلابی)
4- می تونید این ها را تفسیر کنید

dictwords = ["لصفا 0 10 8 2 10 8",
"جهت 0 18 5 2 18 5 11 8 6 12 10 64 13 18 53 16 33 44 17 10 32 18 18 52 19 18 12 20 10 8 21 24 99 22 33 22 24 10 4 25 4 4 26 30 30 27 30 26 28 26 44 29 47 124 30 18 94 32 10 4 33 21 47 34 15 60 35 40 51 36 40 53 41 10 1 42 10 8 48 10 2",
"خريد 0 10 4 2 10 4 43 10 4",

e107365
یک شنبه 23 بهمن 1390, 14:47 عصر
نه متاسفانه

mahdy.asia
جمعه 28 بهمن 1390, 09:24 صبح
از وقتی که گذاشتید متشکرم