ghabil
پنج شنبه 03 آبان 1386, 01:10 صبح
سلام
این فکر که تاپیکهایی رو که به نتیجه میرسند رو متمایز کنیم ، خیلی فکر خوبی بود ، دست بچه هایی که زحمت کشیدند درد نکنه ؛
اما میخواستم حالا که این زحمت رو کشیدین بگم روی این پیشنهاد هم فکر کنید :
فرض کنید یکی می آد مثلا جستجو میکنه : Download و Site و منظورش هم اینه که میخواد ببینه توی دلفی چه طوری میشه محتویات یک سایت رو دانلود کنه (چون خودم بیشتر تو انجمن دلفیم دلفی مثال زدم)، فکر کنید جوابهایی مثل اینکه برو فلان کامپوننت رو از فلان سایت دانلود کن چند درصد جوابها رو تشکیل میدهند
یا مثلا میخواد ببینه توی دیتابیس چطوری باید جستجو کنه : کافیه کلمه جستجو و دیتابیس رو بزنه تا تمام سوالاتی که در مورد دیتابیس بود و جواب این بوده که برو جستجو کن براش بیان(بیچاره Stack OverFlow میده:گیج:)
یا همون بحثی که چند وفت پیشها اینجا دیدم ، که مثلا گریدویو ، با گرید ویو با Grid View با GridView رو نمیشه Match کرد.
یا مشکل دیگه ای که اینکه نمیشه کلمه Bug یا DLL رو بواسطه 3 حرفی بودن جستجو کرد.
حتی این مشکل که ماشالا.. بخاطر فعالیت بچه های سایت توی تاپیکهایی که به نتیجه رسیده هم میشه تعدادی جوابهای بی ربط پیدا کرد ، که به هر حال زمان جستجو نتایج رو خراب میکنند.
یا مشکلی که توی یک پست مثلا یکی پرسیده چطوری فارسی کار کنم ، توی جواب نوشته شده از یونیکد استفاده کن و بعد هم نحوه استفاده رو توضیح داده ; حالا یکی میاد جستجو میکنه فارسی و یونیکد ، اما چون دو کلمه توی دوتا پست جدا هستند به جواب نمیرسه و ....
با وجود همه این مشکلها من که شخصا روم نمیشه خیلی به کاربرها بگم جستجو کنید، وقتی خودم بعضا تو پیدا کردن جوابهای قبلی خودم که تازه اکثرا کد و جواب رو جستجو میکنم به مشکل میخورم.
اما یک راه هست که خب یکمی کار مدیریتی سایت رو سنگین میکنه اما فکر میکنم اکثر این مشکلات رو تا حد قابل قبولی رفع میکنه ، اونم اضافه کردن یک قیلد KeyWord به هرکدوم از تاپیکهاست ، حالا که قراره مدیرها زحمت تایید کردن گفتگوهای به نتیجه رسیده رو بکشند ، خب با توجه به اطلاعاتی که دارند و سابقه ای که نسبت به سوالهای بچه ها دارند این فیلد کی ورد رو هم پر میکنند و یا وقتی یک نفر رو به یک تاپیک قدیمی ارجاع میدهند ، همون موقع اگر تاپیک ارزش داشت کی وردهاش رو هم میزنند .
اینطوری میشه بعد از مدتی(شاید 6-7 ماه) جستجوی پیشفرض رو بجای FullTextSearch روی کل پستها گذاشت FullTextSearch روی کی وردها ، حتی تا قبلش میشه جستجو ها رو ترکیبی کرد یعنی از این عملگرهای ShortCircuitی گذاشت که اگر تاپیکی KeyWordش خالی نیست روی کی وردو اگر هست روی متنش جستجو بشه ، حتی اگر کی ورد ها با یک استاندارد خاص تهیه بشند ، بعدا میشه ایندکسشون کرد و به کاربر پیشنهاد داد و .... که حالا بماند.
این پیشنهاد جدای از اینکه مشکلاتی که گفتم رو حل میکنه و جستجوها رو هم بهینه میکنه ، فکر میکنم در مورد CPU Usage هم به سرور تا حد قابل توجهی کمک کنه.
این فکر که تاپیکهایی رو که به نتیجه میرسند رو متمایز کنیم ، خیلی فکر خوبی بود ، دست بچه هایی که زحمت کشیدند درد نکنه ؛
اما میخواستم حالا که این زحمت رو کشیدین بگم روی این پیشنهاد هم فکر کنید :
فرض کنید یکی می آد مثلا جستجو میکنه : Download و Site و منظورش هم اینه که میخواد ببینه توی دلفی چه طوری میشه محتویات یک سایت رو دانلود کنه (چون خودم بیشتر تو انجمن دلفیم دلفی مثال زدم)، فکر کنید جوابهایی مثل اینکه برو فلان کامپوننت رو از فلان سایت دانلود کن چند درصد جوابها رو تشکیل میدهند
یا مثلا میخواد ببینه توی دیتابیس چطوری باید جستجو کنه : کافیه کلمه جستجو و دیتابیس رو بزنه تا تمام سوالاتی که در مورد دیتابیس بود و جواب این بوده که برو جستجو کن براش بیان(بیچاره Stack OverFlow میده:گیج:)
یا همون بحثی که چند وفت پیشها اینجا دیدم ، که مثلا گریدویو ، با گرید ویو با Grid View با GridView رو نمیشه Match کرد.
یا مشکل دیگه ای که اینکه نمیشه کلمه Bug یا DLL رو بواسطه 3 حرفی بودن جستجو کرد.
حتی این مشکل که ماشالا.. بخاطر فعالیت بچه های سایت توی تاپیکهایی که به نتیجه رسیده هم میشه تعدادی جوابهای بی ربط پیدا کرد ، که به هر حال زمان جستجو نتایج رو خراب میکنند.
یا مشکلی که توی یک پست مثلا یکی پرسیده چطوری فارسی کار کنم ، توی جواب نوشته شده از یونیکد استفاده کن و بعد هم نحوه استفاده رو توضیح داده ; حالا یکی میاد جستجو میکنه فارسی و یونیکد ، اما چون دو کلمه توی دوتا پست جدا هستند به جواب نمیرسه و ....
با وجود همه این مشکلها من که شخصا روم نمیشه خیلی به کاربرها بگم جستجو کنید، وقتی خودم بعضا تو پیدا کردن جوابهای قبلی خودم که تازه اکثرا کد و جواب رو جستجو میکنم به مشکل میخورم.
اما یک راه هست که خب یکمی کار مدیریتی سایت رو سنگین میکنه اما فکر میکنم اکثر این مشکلات رو تا حد قابل قبولی رفع میکنه ، اونم اضافه کردن یک قیلد KeyWord به هرکدوم از تاپیکهاست ، حالا که قراره مدیرها زحمت تایید کردن گفتگوهای به نتیجه رسیده رو بکشند ، خب با توجه به اطلاعاتی که دارند و سابقه ای که نسبت به سوالهای بچه ها دارند این فیلد کی ورد رو هم پر میکنند و یا وقتی یک نفر رو به یک تاپیک قدیمی ارجاع میدهند ، همون موقع اگر تاپیک ارزش داشت کی وردهاش رو هم میزنند .
اینطوری میشه بعد از مدتی(شاید 6-7 ماه) جستجوی پیشفرض رو بجای FullTextSearch روی کل پستها گذاشت FullTextSearch روی کی وردها ، حتی تا قبلش میشه جستجو ها رو ترکیبی کرد یعنی از این عملگرهای ShortCircuitی گذاشت که اگر تاپیکی KeyWordش خالی نیست روی کی وردو اگر هست روی متنش جستجو بشه ، حتی اگر کی ورد ها با یک استاندارد خاص تهیه بشند ، بعدا میشه ایندکسشون کرد و به کاربر پیشنهاد داد و .... که حالا بماند.
این پیشنهاد جدای از اینکه مشکلاتی که گفتم رو حل میکنه و جستجوها رو هم بهینه میکنه ، فکر میکنم در مورد CPU Usage هم به سرور تا حد قابل توجهی کمک کنه.