"Protokolle" verwalten (Überlegung)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Konkrete Situation:

Ich habe ca. 20.000 Protokolle und Notizen im txt-Format in einem Ordner auf der Festplatte liegen. Mein Betriebssystem rödelt etwas, bis es den Ordner anzeigen kann. Im Kern kann es vorkommen, dass ich im Ordner mal alte Sachen nachlesen muss, dann einige Dateien suche, öffne und wieder schließe.

Datenbank-Lösung scheidet aus, weil ich auf das Dateiformat der Protokolle keinen Einfluss nehmen kann und dort auch nicht arbeiten kann.

Meine Überlegung:

Ich dachte gerade, dass ich mir ein Programm mit GUI schreibe, dass links oben ein Suchfeld und darunter eine Liste aller Protokolle bietet. Rechts wäre dann ein Anzeigefenster: Durch Klicken auf ein Protokoll wird dies rechts angezeigt.

Beim Suchfeld dachte ich daran, dass ich z. B. ein Datum o. ä. eingebe und dann nur diese Inhalte angezeigt werden, wo der Text vorkommt.

Meine Frage:

Ich habe so etwas vor Jahren mal für Bilder machen müssen und das lief eigentlich ganz gut. Würdet ihr denken, dass ich das mit Python machen kann. os.listdir müsste m. E. gehen, die Dateianzahl dürfte auch kein Problem sein. 20.000 Einträge in ein Listenelement zu geben auch nicht(?). Gibt es empfehlenswerte Bibliotheken, um ein wie oben beschriebenes Suchfeld zu schreiben? Gibt es dazu einen Fachbegriff?
BlackJack

Klar kann man das in Python umsetzen. Hat das beschriebene denn so einen grossen Mehrwert gegenüber dem was das Betriebssystem/der Dateimanager schon bietet? Da gibt's doch in der Regel auch schon eine Suche nach Dateien und Dateiinhalten ab einem bestimmten Unterordner. Oft sogar schon mit einen Volltextindex für die Suche der im Hintergrund erstellt wird.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

du wirst am Ende vielleicht doch eine Datenbank welcher Form auch immer habe - die wird zwar nicht die Protokolle an sich enthalten, sondern Meta-Daten etc.

_Wie_ suchst du denn im Moment? Du schreibst ja was vom Datum als Beispiel. Ziehst du das aus der Datei? Oder aus dem Zeitstempel der Datei? Oder...?

Musst du auch den Inhalt der Datei durchsuchen? Wenn ja bietet es sich an, den Inhalt der Datei in eine DB zu schreiben und dann eine Volltextsuche durchzuführen. Ist zwar in der Regel wenig performant, aber für den Hausgebrauch völlig ok. Das geht sogar mit SQLite über die FTS Extension, die größeren RDBMS können das aber sicherlich auch.
Oder du benutzt so was wie Apache Lucene.

Wenn du die Datei nicht Volltext durchsuchen muss (oder willst), dann bietet es sich trotzdem an, zu jedem Dokument ein paar Metadaten abzulegen, anhand derer du nachher Dokumenten suchen kann. Wenn du das hast kannst du dir sicherlich auch ein graphisches Frontend für die Suche bauen.

Gruß, noisefloor
Antworten