ورود

View Full Version : پیشنهاد برای جستجوی بهتر



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 هم به سرور تا حد قابل توجهی کمک کنه.

oxygenws
پنج شنبه 03 آبان 1386, 08:24 صبح
تجربهء چنین چیزی رو تو یه انجمن دیگه داشتم.
توی اون انجمن خود کاربران کلمات کلید رو انتخاب می کردند و خوب غیر از این هم راهی نیست.

تقریبا ۹۰٪ کلمات کلیدی اسم افرادی که تاپیک رو ایجاد می کنند یا یه سری چرندیات مشابه این شده بود. (حالا جدا از اینکه سیستمی که استفاده شده بود کلا فارسی رو پشتیبانی نمی کرد)

به هر حال قبلش باید فرهنگش جا بیافته. و در نهایت من با این طرح مخالفم :)

Inprise
پنج شنبه 03 آبان 1386, 10:11 صبح
احتیاج به این همه توضیح نبود . همه این روزها با مفهوم و کاربرد Tag آشنا هستن .

Tag برای وبلاگها یا سایتهائی با محتوای کم مناسب هست اما در یک فروم با این وسعت و با تعدد موضوعات ، و تشابه فوق العاده زیاد کلمات یا عناوین یا تگهای قابل استفاده برای موضوعات کاملا متفاوت ، در عمل کمک خاصی نمیکنه . مگر اینکه سیستم مدیریت Tag نرم افزار پیچیده ای باشه که بتونه با انتخاب یا جستجوی تگها با بررسی ارتباطها ، موضوعات مرتبط رو نشون بده ( شبیه به کاری که موتورهای جستجوی محتوائی مثل گوگل میکنن ) که در اون صورت چنین Tagای ممکنه کمک بکنه که من تصور نمیکنم چنین پلاگینی برای VB وجود داشته باشه یا حتی نوشتنش Feasible باشه . بهتر هست کاربران سوالهای مناسب بپرسن و جوابهای مربوط بهشون داده بشه و مدیران بخش هم "بحثهای مفید" رو متمایز کنند که در روند جستجو مفید باشه .

در مورد جستجوی کلمه های کوچک : کسی میتونه به من توضیح بده جستجو کردن کلمه DLL در سایت برنامه نویس در کل چه معنا و مفهومی میتونه داشته باشه ؟ یا چه کسی ممکنه کلمهء Bug رو جستجو کنه ؟ و با چه انگیزه ای ؟ اگر کسی دنبال پیدا کردن مطالبی در مورد باگهای محصولات موزیلا در بخش اخبار سایت است باید از جستجوی پیشرفته سایت ، بخش اخبار رو انتخاب کنه و بعد عبارت "باگ موزیلا" رو جستجو کنه .

مشکل فعلی سایت برنامه نویس اضافه کردن امکانات نیست . باید کاربران یاد بگیرند که در عنوان سوال و توضیح سوال کلمه ها و جملات مربوط و شفاف و واضح بنویسند و بقیه هم فقط در صورتیکه جواب مفید و فنی و مربوط دارن پست ارسال کنند . تا بحال بخش کمی از فعالیتها اینطور بوده و عموما فعالیت غیرضروری یا پستهای کج و کوله و نامفهوم خیلی خیلی خیلی زیاد بودند و دلیل اصلی دشواری جستجو این هست . در فرومهای فنی تر و جدی تر _ طبیعتا غیر ایرانی _ به دلیل عدم وجود مطالب غیر ضروری و شفافیت سوالها و جوابها ، یک جستجوی خیلی ساده با همین امکانات عادی نرم افزار فروم هر فردی رو به جواب نزدیک میکنه . ما باید سعی کنیم برای ایجاد این فرهنگ تلاش کنیم .

ghabil
پنج شنبه 03 آبان 1386, 11:33 صبح
تجربهء چنین چیزی رو تو یه انجمن دیگه داشتم.
توی اون انجمن خود کاربران کلمات کلید رو انتخاب می کردند و خوب غیر از این هم راهی نیست.

تقریبا ۹۰٪ کلمات کلیدی اسم افرادی که تاپیک رو ایجاد می کنند یا یه سری چرندیات مشابه این شده بود. (حالا جدا از اینکه سیستمی که استفاده شده بود کلا فارسی رو پشتیبانی نمی کرد)



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

این فقط یعنی تبدیل فلگ گفتگوی مفید به یک فیلد Descriptive ، وقتی قرار مدیرها فلگ رو ست کنند اگر زحمتش رو بکشند میتونند فیلد رو هم پر کنند.



به هر حال قبلش باید فرهنگش جا بیافته. و در نهایت من با این طرح مخالفم :)

موافقم (نه با مخالفتتها p:) خب من هم واسه همین گفتم مدیرها فیلد رو پر کنند ، اینطوری فرهنگ انتخاب کی وردهای درست رو جا میندازند دیگه .
به هر حل من هنوزم فکر میکنم تبدیل چند فیلد متنی با پرت بالا به یک فیلد متادیتایی که توسط انسان پرسس شده(بعدا میشه فکر تزاروس هم کرد براش(; ) اینقدرها هم چیز بدی نباشه.