Hallöle, ich habe ein Frage 😃
Es geht um folgendes: Ich habe die Aufgabe bekommen ein Programm zu entwerfen,
welches auf einem bestimmten Laufwerk alle Dateien nach Schlagworten durchsucht.
Ein Teil ist also den Dateien erstmal irgendwie Schlagworte zu verpassen, der andere wäre, sie dann zu finden.
Die Frage ist jetz, wie kann man sowas realisieren?
Meine 2 Gedanken:
ADS benutzen. Also quasi an jedes Foto und jedes Dokument einen named Stream zu hängen der eine Textdatei mit den Schlagworten beinhaltet.
Die Schlagworte würde man dann per Windows-Explorer-Kontextmenü vergeben können.
Ich erstelle im lokalen Programmverzeichnis eine Art Index, der die die Pfade zu allen Dateien (sehr viele) und die dazugehörigen Schlagworte beinhaltet. Das müsste ich dann irgendwie bei jedem Programmstart oder mittels eines Background-Workers beim Systemstart aktualisieren.
Haltet ihr eine der beiden Möglichkeiten für sinnvoll?
Oder gibt es bessere Alternativen?
Danke schonmal 😃
spiegelt das nicht genau die windows-suche wieder?
Ich lasse mich gerne korrigieren! (:
Nein, der Unterschied ist, dass man im Windows-Explorer (soweit ich weiß)
Dateien nicht mit Schlagworten versehen und danach suchen kann.
Meine 2 Gedanken:
Version 2 hat den Nachteil, dass du den Index so oft neu bauen musst. Wenn eine Datei kopiert wurde, wird sie nicht mehr gefunden. Bei Version 1 durchsuchst du halt einfach die ganze Platte und vergleichst halt mit den Schlagworten aus dem ADS.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
der Unterschied ist, dass man im Windows-Explorer (soweit ich weiß)
Dateien nicht mit Schlagworten versehen und danach suchen kann.
Dafür verwendet die (Vista-)Suche auch Wörter innerhalb einer Datei.
Die Frage ist, wie viele Dateien mit Schlagwörtern versehen werden.
Eine andere Variante deiner Version 2 ist nämlich, nur diese in einer Datei mit ihren Schlagwörtern zu speichern.
Falls das wenige (max 10 Mio.) sind, würde sich das anbieten. Dann könntest du nur die mit Schlagwörtern versehenen Dateien durchsuchen und optional auch alle anderen (klare Trennung).
Noch ein klarer Vorteil ist die viel schnellere Suche, da nur Pfad und Schlagwörter gespeichert werden.
Der Nachteil davon ist:
Wenn eine Datei kopiert wurde, wird sie nicht mehr gefunden.
Hallo.
Dafür verwendet die (Vista-)Suche auch Wörter innerhalb einer Datei.
Nun gut, für Dokumente wird das gehn, aber da die Firma für die ich das mache sehr viel mit Bildern arbeitet ist das relativ nutzlos.
Wenn eine Datei kopiert wurde, wird sie nicht mehr gefunden. Ich bin gerade am überlegen ob sich das mit einem Filesystemwatcher realisieren lassen würde. Dieser würde dann jedes mal wenn eine Datei kopiert oder entfernt werden würde den Index aktualisieren.
Was meint ihr?
FileSystemWatcher sind teuer. Für einzelne kleine Verzeichnisse mag das gehen, aber ich glaub nicht für die ganze Verzeichnisstruktur.