أفضل استراتيجية عامة لتجميع العناصر باستخدام معايير متعددة

StackOverflow https://stackoverflow.com/questions/171899

  •  05-07-2019
  •  | 
  •  

سؤال

لدي مشكلة بسيطة وواقعية أريد حلها باستخدام نهج OO. بلدي الثابت هو فوضى. لدي 1.500.000 ملف ، التكرارات ، مجلدات مكررة كاملة ، وهلم جرا ...

الخطوة الأولى ، بالطبع ، هي تحليل جميع الملفات في قاعدة البيانات الخاصة بي. لا توجد مشاكل حتى الآن ، والآن حصلت على الكثير من الإدخالات اللطيفة التي هي نوع من "مجمعة الطبيعية". يمكن الحصول على أمثلة لهذا التجميع البسيط باستخدام استعلامات بسيطة مثل:

  1. أعطني جميع الملفات أكبر من 100 ميجابايت
  2. إظهار جميع الملفات أقدم من 3 أيام
  3. احصل على كل الملفات التي تنتهي مع Docx

لكن افترض الآن أنني أريد أن أجد مجموعات ذات معنى طبيعي أكثر بقليل. هناك استراتيجيات مختلفة لهذا ، اعتمادًا على "حالة الاستخدام".

افترض أن لدي عادة سيئة لوضع جميع ملفاتي التي تم تنزيلها أولاً على سطح المكتب. ثم أقوم باستخراجها إلى المجلد المناسب ، دون حذف ملف الرمز البريدي دائمًا. أنا نقلهم إلى مجلد "العلية". للنظام ، للعثور على هذه المجموعة من الملفات أ الوقت الموجود نهج البحث ، ربما جنبا إلى جنب مع "تحقق مما إذا كان الرمز البريدي هو نفسه ثم المجلد X" سيكون مناسبا.

افترض عادة سيئة أخرى من تكرار الملفات ، مع وجود مجلد حيث توجد "الملفات النظيفة" في أ هيكل جميل, ، وآخر مجلدات فوضوية. الآن يحتوي المجلد النظيف على 20 معرض للصور ، ويحتوي مجلدتي الفوضوية على 5 معرض جديد و 1 معرض جديد. يمكن للمستخدم البشري تحديد هذا المنطق بسهولة من خلال رؤية "أوه ، هذا كله يكرر فقط ، هذا جديد ، لذلك وضعت الشخص الجديد في المجلد النظيف وقمامة كل التكرارات".

لذا ، الآن للوصول إلى النقطة:

أي مزيج من الاستراتيجيات أو الأنماط التي ستستخدمها لمعالجة مثل هذا الموقف. إذا قمت بتصفية سلسلة "الأصعب" سيفوز ، وليس لدي أي فكرة عن كيفية ترك النظام "اختبار" لمجموعة مناسبة. ويبدو لي أنه أكثر من مجرد تصفية. تجميعها الديناميكي من خلال الجمع بين معايير متعددة للعثور على المجموعات "الأفضل".

سيكون هذا النهج القاسي هو:

  1. في البداية ، جميع الملفات متساوية
  2. المجموعة الأولى ، ليست "جيدة" هي الدليل
  3. إذا كنت دليلًا كبيرًا ونظيفًا ، فإنك تكسب نقاطًا (أسماء موزعة بالتساوي)
  4. إذا كان لجميع الملفات نفس تاريخ الإنشاء ، فقد تكون "AutoCreated"
  5. إذا كنت طفلاً في ملفات البرامج ، فأنا لا أهتم بك على الإطلاق
  6. إذا قمت بنقلك ، فإن المجموعة A ، إلى المجموعة C ، هل سيحسن هذا "الانتروبيا"

ما هي أفضل الأنماط التي تناسب هذا الموقف. الإستراتيجية ، المرشحات والأنابيب ، "التجميع" .. أي تعليقات مرحب بها!

تحرير في رد الفعل على الإجابات:

نهج وضع العلامات:بالطبع ، تجاوزت العلامات ذهني. ولكن أين أرسم الخط. يمكنني إنشاء أنواع علامات مختلفة ، مثل Indirtag ، CreatedOndayxtag ، TopicZtag ، Authorptag. يمكن تنظيم هذه العلامات في هيرشاة ، لكن السؤال الذي سيبقى عليه. لكنني سأفكر في هذا الأمر وأضيف رؤيتي هنا ..

تعليق المماطلة:نعم ، هذا يبدو هكذا. لكن الملفات ليست سوى أبسط مثال يمكن أن أتوصل إليه (والأكثر أهمية في الوقت الحالي). في الواقع جزء من الصورة الأكبر لتجميع البيانات ذات الصلة بطرق ديناميكية. ربما كان ينبغي علي أن أبقيها أكثر تجريدًا ، للتأكيد على هذا: أنا عدم البحث عن ملف أداة أو محرك بحث ، لكن خوارزمية أو نمط للتعامل مع هذه المشكلة ... (أو أفضل ، الأفكار ، مثل وضع العلامات)

كريس

هل كانت مفيدة؟

المحلول

ليس لدي حل (وأحب أن أرى واحدة) ، لكنني قد أقترح استخراج البيانات الوصفية من ملفاتك إلى جانب الاسم الواضح والحجم والجداول الزمنية.

  • البيانات الوصفية داخل النطاق مثل علامات MP3 ID3 ، ومعلومات الإصدار لـ EXES / DLLs ، وعنوان HTML والكلمات الرئيسية ، ومعلومات موجزة لمستندات المكتب وما إلى ذلك. يمكن أن تحتوي ملفات الصور على بيانات تعريف مثيرة للاهتمام. تجزئة المحتويات بأكملها تساعد إذا كانت تبحث عن التكرارات.
  • البيانات الوصفية خارج النطاق كما يمكن تخزينها في تدفقات البيانات البديلة NTFS-على سبيل المثال. ما يمكنك تحريره في علامة التبويب الملخص للملفات غير
  • تحتفظ متصفحاتك بالمعلومات حول المكان الذي قمت فيه بتنزيل الملفات من (على الرغم من أن Opera لا تحتفظ بها لفترة طويلة) ، إذا كنت تستطيع قراءتها.

نصائح أخرى

أنت على المماطلة. توقف عن ذلك ، وقم بتنظيف الفوضى. إذا كان كبيرًا حقًا ، أوصي بالتكتيك التالي:

  1. قم بعمل نسخة من جميع الأشياء الموجودة على محرك الأقراص على قرص خارجي (USB أو أي شيء آخر)
  2. قم بتثبيت نظيف لنظامك
  3. بمجرد أن تجد أنك بحاجة إلى شيء ما ، احصل عليه من نسختك ، ووضعه في موقع محدد جيدًا
  4. بعد 6 أشهر ، رمي محرك الأقراص الخارجي. أي شيء موجود لا يمكن أن يكون هذا مهمًا.

يمكنك أيضًا تثبيت سطح مكتب Google ، والذي لا ينظف الفوضى ، ولكن على الأقل يتيح لك البحث عنه بكفاءة.

إذا كنت ترغب في منع حدوث ذلك في المستقبل ، فيجب عليك تغيير الطريقة التي تنظم بها الأشياء على جهاز الكمبيوتر الخاص بك.

أتمنى أن يساعدك هذا.

لديك حمى ، والوصفات الطبية الوحيدة هي العلامة السحابة! لا يزال يتعين عليك تنظيف الأشياء ، ولكن مع أدوات مثل taggcloud أو TAG2FIND يمكنك تنظيم ملفاتك بواسطة بيانات التعريف بدلاً من الموقع على محرك الأقراص. سوف يشاهد Tag2Find حصة ، وعندما يتم حفظ أي شيء إلى المشاركة ، يظهر منبثقة ويطلب منك وضع علامة على الملف.

يجب عليك أيضًا الحصول على سطح مكتب Google أيضًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top