PDA

View Full Version : سوال: بهترين روش جستجو براي متون حجيم(بدون بانك)



javadt
پنج شنبه 29 مهر 1389, 19:09 عصر
سلام
يكسري متن با حجم خيلي زياد دارم و بايد داخل اين متون سرچ كنم
از بانك sql مطلقا نبايد استفاده كنم چون بايد برنامه اتوران و بدون نصب باشه
مي خواستم ببينم دوستان چه پيشنهادي دارند
از چه روشي استفاده كنم براي جستجوي سريعتر يا بهتر؟؟ فايل يا...؟؟
با تشكر

saeedzx
پنج شنبه 29 مهر 1389, 19:57 عصر
دوست عزیز شما میخوای فایلی رو در بان کلاً ذخیره کنید درسته ؟؟؟؟

3 حالت ذخیره سازی داریم

1.در یک فایل txt ( برای جستجو به خطای زیادی برخورد می کنی ) روش جستجو این نوع فایل ها:

1. به صورت خطی ( از اولی می گرده تا آخری ) 2. تصادفی ( به صورت تصادفی انتخاب می کنه )


2.ذخیره در بانک های ( Access و SQLserver ) که این روش نیاز به (OCX , Dll ) که حتما باید نصب بشه ؟

javadt
پنج شنبه 29 مهر 1389, 20:13 عصر
دوست عزیز شما میخوای فایلی رو در بان کلاً ذخیره کنید درسته ؟؟؟؟

3 حالت ذخیره سازی داریم

1.در یک فایل txt ( برای جستجو به خطای زیادی برخورد می کنی ) روش جستجو این نوع فایل ها:

1. به صورت خطی ( از اولی می گرده تا آخری ) 2. تصادفی ( به صورت تصادفی انتخاب می کنه )


2.ذخیره در بانک های ( Access و SQLserver ) که این روش نیاز به (OCX , Dll ) که حتما باید نصب بشه ؟

تشكر دوست عزيز
من حجم اطلاعات تكست زيادي دارم ولي براي اين قسمت كه مي خوام استفاده كنم 2000 صفحه تايپ شدست كه برنامم بايد به صورت اتوران اجرا شه و كاربر نخواد فايلي رو نصب كنه
سرعت جستجو هم برام مهمه مي خوام كاربر كه كلمه رو جستجو كرد توي اين متن ها بگرده

saeedzx
پنج شنبه 29 مهر 1389, 20:18 عصر
دوست عزیز شما می تونید از بانک اکسس استفاده کنی
فقط فایل های اجرایی و ocx ها را کنار برنامه قرار بدین

تا برنامه اجرا بشه نیازی هم به نصب نیست !!!!!!!!!!!

javadt
پنج شنبه 29 مهر 1389, 22:01 عصر
تشكر اما اين روش خيلي جالب نيست
من بايد بيام متنم رو توي چند تا ركورد قرار بدم باز تك تك ركورد ها رو جستجو كنم (هر فيلدmemo تقريبا 65000 كاراكتر مي گيره اما تعداد كاراكتر من ميليوني)
كسي از دوستان نظر ديگه اي نداره؟

javadt
جمعه 30 مهر 1389, 12:30 عصر
آقا من يك نرم افزار كتاب رو ديدم كه اون هم بانك نداره اين نرم افزار هم حجم بالايي كتاب بصورت تكست داره و تعداد زيادي فايل با پسوند cdf داره و سرعت جستجوي بسيار خوبي هم داره
اساس كار اين برنامه ها چيه؟

niko2008
جمعه 30 مهر 1389, 14:09 عصر
آقا من يك نرم افزار كتاب رو ديدم كه اون هم بانك نداره اين نرم افزار هم حجم بالايي كتاب بصورت تكست داره و تعداد زيادي فايل با پسوند cdf داره و سرعت جستجوي بسيار خوبي هم داره
اساس كار اين برنامه ها چيه؟

نمیدونم چرا موقعی که این بحث مطرح میشه همه زبانی نظراتی رو میگن ولی در عمل مثل تاپیک دیتابیس نویسی ado هیچ کسی آموزشی نمیده.

در ضمن هرجا که این بحث مطرح است مدیران غائبا یا جلیی برای مدیران نیست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:م فکر::متفکر::متفکر::متفکر:

من خودم چندین تاپیک زدم دراین مورد که تنها چاره رو در حذف ان دیدن!!!!!!!!!!!:عصبانی++::عصبانی++ ::عصبانی++:

دوست عزیز اسم اون نرم افزار چیه؟

javadt
جمعه 30 مهر 1389, 19:24 عصر
دوست عزیز اسم اون نرم افزار چیه؟
الان خاطرم نيست ولي اون نرم افزار250 تا 300 جلد كتاب به صورت تكست داشت(اجازه كپي متن رو هم ميداد) و يك جسجتوي بسيار عالي هم داشت ولي بانكي نداشت و فقط فايل هايي با پسوند cdf بودند

vbhamed
جمعه 30 مهر 1389, 20:42 عصر
سلام

1 - شما مي خواين در متن كتاب جستجو كنيد يا عناويني خاص ؟
2 - مي خواين همون اول نتيجه كل جستجو رو براتون ليست كنه يا مثلا با يك دكمه روي موارد پيدا شده بعدي برين
3 - فرض كنيد قراره از بانك بدون محدوديت 65000 حرف و مشكل نصب برنامه، استفاده بشه، فكر مي‌كنيد راهي براي جستجوي سريع كل متن كتاب داريد ؟ چون اگر متن Memo طولاني داشته باشيد دستورات SQL هم نمي‌تونن خيلي سريع جستجو كنند

اگر قرار باشه عناوين خاصي جستجو بشه مي‌شه با مرتب سازي و روش جستجوي باينري تقريبا آني نتايج را مشخص كرد اما براي جستجوي كلمات نامشخص در كل متن كتاب تنها راه جستجوي معمولي است

javadt
شنبه 01 آبان 1389, 01:24 صبح
سلام

1 - شما مي خواين در متن كتاب جستجو كنيد يا عناويني خاص ؟
2 - مي خواين همون اول نتيجه كل جستجو رو براتون ليست كنه يا مثلا با يك دكمه روي موارد پيدا شده بعدي برين
3 - فرض كنيد قراره از بانك بدون محدوديت 65000 حرف و مشكل نصب برنامه، استفاده بشه، فكر مي‌كنيد راهي براي جستجوي سريع كل متن كتاب داريد ؟ چون اگر متن Memo طولاني داشته باشيد دستورات SQL هم نمي‌تونن خيلي سريع جستجو كنند

اگر قرار باشه عناوين خاصي جستجو بشه مي‌شه با مرتب سازي و روش جستجوي باينري تقريبا آني نتايج را مشخص كرد اما براي جستجوي كلمات نامشخص در كل متن كتاب تنها راه جستجوي معمولي است

سلام
در متن كتاب يك كلمه اي رو كه كاربر وارد مي كنه مي خوام جستجو كنم
پس اين نرم افزاري كه ديدم اساس كارش چيه؟ خيلي سريع توي 300 جلد كتاب جستجو كرد
با تشكر

vbhamed
شنبه 01 آبان 1389, 12:39 عصر
سلام

به نظر من راه سريع اينه كه متن كتاب تو حافظه لود بشه و اونجا جستجو انجام بشه

niko2008
شنبه 01 آبان 1389, 14:40 عصر
سلام

به نظر من راه سريع اينه كه متن كتاب تو حافظه لود بشه و اونجا جستجو انجام بشه

دوست عزیز چطوری باید تو حافظه لود بشه ؟

vbhamed
شنبه 01 آبان 1389, 19:01 عصر
سلام

با دستورات خوندن فايل مثل open, get, put, line input ...
آموزشش تو سايت هست

javadt
شنبه 01 آبان 1389, 19:24 عصر
الان تست كردم يك فايل تست رو با حجم 2مگ مي خواستم بريزم توي حافظه هم خيلي طول كشيد و هم يكم سيستم رو كند ميكنه(از doevents استغاده كردم)
اين كار حافظه سيستم رو چقدر اشغال مي كنه؟
بعدش هم مي خوام اين ها رو توي مثلا ديتا گريد نمايش بدم كل ايتم هاي پيدا شده رو براي اين چه كار كنم؟
راه حل بهتري نيست؟
با تشكر

vbhamed
دوشنبه 03 آبان 1389, 08:09 صبح
سلام

اينم يك نمونه با جستجوي پر سرعت
اول يكبار فايل متني رو Load كنيد بعد هر چقدر خواستيد جستجو كنيد
ضمنا از كامپوننت vsFlexGrid 8 براي نمايش نتايج استفاده شده

xrezax
یک شنبه 15 مرداد 1391, 04:25 صبح
دوستان می دونم تایپیک قدیمی اما سوالم با این تایپیک مرتبط هست.
راهی هست بجای دادن آدرس یک فایل txt آدرس یک پوشه رو داد و تمام txtهای اون داخل برنامه لود بشن و جستجو کنیم ؟؟؟

arenaw
یک شنبه 15 مرداد 1391, 11:02 صبح
با این کد میشه این کارو کرد، البته برای فایل های داخل فولدر های داخل آدرس جواب نمیده (sub folder(

Dim t As String
Dim MyPath As String
MyPath = "C:\Users\Amir\Desktop"
t = Dir(MyPath & "\*.txt")
Do While Not t = Empty
List1.AddItem t
t = Dir()
Loop