PDA

View Full Version : گفتگو: افزایش سرعت برای جستجو



mehrab1387
یک شنبه 18 دی 1390, 12:20 عصر
سلام دوستان
اگر شما جای من بودید چه کار می کردید؟
من 90 تا کلمه دارم و حدودا 10000 فایل که می خواهم بین هر دو کلمه یک کوئری AND بزنم یعنی 900 تا کوئری روی 10000 فایل متنی وتعداد سندهایی که شامل هر دو کلمه باشد را برگردانم
مثلا:

select count(id) from table where txt like 'word1' and txt like 'word2'

من از این قاعده برای شمارش سندها استفاده می کنم اما برای تمام کلمات این کار زمانگیر است.
اگر شما جای من بودید به غیر از sql از چی استفاده می کردید؟
ایا DICTIONORY به من کمک می کند؟

سوداگر
یک شنبه 18 دی 1390, 16:55 عصر
توی اون تاپیک های قبلیتون یه چیزایی به صورت پراکنده دستگیرم شد ولی یه چیزایی هم بود که واقعا :گیج: شدم:
پروژه شما در مورد Word Clustering (http://www.ilc.cnr.it/EAGLES96/rep2/node37.html) بود ولی اینکه یه راست، به سراغ SQL رفتید رو نفهمیدم(توی تاپیک اولیتون هم پرسیده بودم ولی بی جواب گذاشتینش:عصبانی:)
شما ابتدا باید الگوریتم کار رو پیدا کنید و یه خورده در مورد پروژه تون تحقیق کنید. بالاخره پروژه کارشناسیتون هست و یه جورایی شناسنامه مهندسی شما محسوب میشه!
بعد از فهمیدن الگوریتم و روش کار، اونوقت بیایید و استفاده از SQL! و کلاسهای #C مثل Directory رو با هم مقایسه کنید و ببینید که کدامیک از اینها برای پیاده کردن اون الگوریتم و روش کار، مناسب تر هست.
بعد از یکماه تحقیق و تعیین کردن روش کار، بیایید و به کدنویسی در محیط کنسول بپردازید.

البته در هر دو روش، جستجوی فایلها و زمانبر بودن جستجو، اجتناب ناپذیر است: این برای جستجوی فایل (http://www.c-sharpcorner.com/UploadFile/bejoynair/FindFilesinCS12052005042702AM/FindFilesinCS.aspx)/|\اینم برای جستجوی رشته (http://www.arstdesign.com/articles/fastsearch.html)

zarrinnegar
یک شنبه 18 دی 1390, 19:52 عصر
این مطلب رو هم ببینی بد نیست
http://hamedb.com/fa/posts/items/full_text_search_index_871016.aspx