- Desktop-Suchmaschine
-
Desktop-Suchprogramme dienen dem schnellen Durchsuchen von Computern nach verschiedenen Inhalten. Dabei wird von der Applikation meist der gesamte Datenbestand des Computers durchsucht, eingelesen, gefiltert und in einer Datenbank hinterlegt. Die Programmoberfläche greift dann auf diese Datenbank zu, wodurch eine Rückgabe der Ergebnisse beinahe in Echtzeit möglich ist, und die Suche sehr an Agilität gegenüber klassischen Suchmethoden, wie der Datei-Suche unter Windows oder find unter UNIX-Derivaten, gewinnt. Desktop-Suchsysteme zeichnen sich außerdem durch eine sehr hohe Präzision aus, denn sie filtern die durchsuchten Inhalte je nach Dateityp und ordnen dieses Informationen auch sinngemäß zu. Die assoziative Dateiverwaltung überschneidet sich von der Funktionsweise her oftmals mit der Desktopsuche, nicht selten gehen beide Techniken Hand in Hand einher.
Inhaltsverzeichnis
„Klassische“ Suche und Desktop-Suche
Vorläufer und Pionier heutiger Desktop-Suchsysteme ist das UNIX-Tool locate. Dieses klassische Kommandozeilenprogramm durchsucht einen, von einem cron-Job in regelmäßigen Abständen aktualisierten, Index des Dateisystems. Das ursprüngliche locate unterstützte lediglich das Suchen nach Dateinamen, wurde jedoch mit der Zeit mehr und mehr, unter anderem um Reguläre Ausdrücke, erweitert, was es auch heute noch zu einem unverzichtbaren Helfer macht. Im Gegensatz zu modernen Desktop-Suchen hatte locate jedoch einen entscheidenden Nachteil: Es bezog sich rein auf Dateinamen, nicht auf deren Zusammenhänge, Dateitypen oder Inhalte. Auch reagiert locate nicht in Echtzeit auf Änderungen im Dateisystem, sondern erst nach Ausführung des cron-Jobs, wodurch die von locate zurückgelieferten Inhalte möglicherweise nicht mehr aktuell sein können.
Weiter verbreitet war in der Vergangenheit die Methode, für jede Suchanfrage die Festplatte erneut zu durchsuchen. Zum Einsatz kommt diese Methode etwa unter UNIXen bei find, bei der Windows-Suche, oder auch der Finder-Suche in Mac OS. Der Suchauftrag erzeugt dabei eine sehr hohe Systembelastung, da je nach Suche jeder Dateiname, manchmal auch der Inhalt jeder Datei, mit dem spezifizierten Suchbegriff verglichen werden muss. Dies ist natürlich eine große Verschwendung von Rechenleistung, und nicht sehr vielseitig, da das Durchsuchen von Dateien meist auf einen bestimmten Kreis von Dateitypen beschränkt, und nicht erweiterbar ist, oder die Erweiterung (z.B. bei find über die Verkettung zahlreicher tools) nur mit dem entsprechenden Fachwissen machbar ist.
Deshalb wurden Desktop-Suchsysteme entwickelt. Sie indizieren die Dateien des Anwenders, filtern diese ggf. durch entsprechende Filter (OpenDocument, Microsoft Office, PDF, etc.), so dass sie über Klartextsuche erreichbar sind. Neue und geänderte Dateien werden automatisch in den Index aufgenommen und der Zugriff auf den Index erfolgt häufig über eine einheitliche Datenbankschnittstelle (z.B. SQL). So ist es möglich, dass sehr schnelle (Echtzeit), aufgabenspezifische Anfragen gestellt werden können. Der Anwender muss sich dazu nicht mit Dateitypen, Ordnern u.ä., sondern nur mit den Resultaten auseinandersetzen, was besonders für weniger versierte Personen eine Erleichterung im Umgang mit dem Rechner bedeutet.
Arten der Desktopsuche
- Systemweite Suche: Werkzeuge dieser Art sind etwa Superior Search, Beagle, Exalead, Tracker, xfriend, Copernic Desktop Search, Google Desktop, Windows Desktop Search oder Spotlight. Diese Art der Suche soll eine möglichst umfangreiche und universale Abbildung der Dateien eines Systemes bieten.
- Spezifische Suche: Kleine, in die Benutzerapplikationen integrierte Suchfelder dienen zum Durchsuchen von Listen, Sammlungen, Datenbanken, etc. Diese Suchtypen integrieren sich mehr und mehr in die systemweiten Suchapplikationen, so dass sich momentan folgendes Bild anzeichnet:
- Die absolute Suche: Jede durch einen Menschen interpretierbare Information ist in der Suche entsprechend abgebildet. Jede Applikation, die ihre Informationen in die Suche integriert, stellt eine Schnittstelle zur Suchapplikation zur Verfügung. Diese Methode kann sich auch direkt in die Dateisystem-Schicht eines Betriebssystems integriert sein, um einen noch intuitiveren Zugriff zu gewähren und eine assoziative Dateiverwaltung zu ermöglichen.
Aktuelle Beispiele für die letztere Methode sind etwa:
- Suchfunktionen in KDE, die in Hinsicht auf die kommende Version 4.0 mehr und mehr zusammenwachsen. In den vergangenen Monaten wurden zahlreiche Suchfunktionen und -schnittstellen für KDE entwickelt, die tendenziell immer besser kooperieren. Ein Beispiel hierfür ist die enge Verknüpfung von Katapult mit Kat und Beagle, und Anwendungen wie beispielsweise Amarok.
- Suchfunktionen in BeOS/Zeta, wo über assoziative Dateiverwaltung sowohl eine Abstraktion, als auch komfortabler Zugriff geschieht.
Möglichkeiten und Gefahren
Die zentrale Speicherung und Abbildung der Daten eines Rechners ermöglicht ein viel intuitiveres Auffinden und neue Umgangsformen mit den Daten. Sie birgt jedoch auch einige Gefahren in sich: Die Daten sind zentral gespeichert, nach den Wünschen einiger Anbieter (z.B. Google) sogar zentral auf Servern im Internet. Dies bietet sowohl Missbrauchspotential für Cracker, die Sicherheitslücken in der Software ausnutzen könnten um Zugang zu sensiblen Daten zu erhalten, als auch seitens von Regierungen, für die ein derartiger zentraler Datenpool eine verlockende Möglichkeit zur Verbrechensaufklärung darstellt, aber auch zu präventiver Überwachung Einzelner missbraucht werden kann.
Funktionsweise
Grundlage aller dieser Systeme ist die Nutzung einer Datenbank zur Aufbewahrung der Meta-Informationen, sowie die Bereitstellung geeigneter Schnittstellen/APIs für den Zugriff auf diese Datenbank. Die Aufbereitung der Informationen in dieser Datenbank für den Anwender kann dann auf verschiedene Arten erfolgen.
Darstellung über Suchprogramme
Diese Methode ist programmiertechnisch gesehen einfach und robust. Die Suche geschieht über eigene Anwenderprogramme. Es sind keine gravierenden Eingriffe in die Funktionsweise des zugrunde liegenden Betriebssystems notwendig, dementsprechend fehlt aber auch die intuitive Integration, etwa in Dateidialoge und ähnliches.
Beispiele für diese Methode sind etwa Superior Search, Google Desktop Search, regain, xfriend, Windows Desktop Search, Copernic Desktop Search, exalead desktop free oder Beagle (in seiner Grundausstattung).
Integration in die Dateisystem-Schicht (assoziative Dateiverwaltung)
Aktuell tendieren die Entwicklungen in Richtung einer assoziativen Dateiverwaltung, der Darstellung über die Dateisystem-Schicht / das virtuelle Dateisystem (VFS) der Betriebssysteme. Dies kann auf verschiedene Arten erfolgen, die allesamt gewisse Vor- und Nachteile haben können. Eine derartige Integration ermöglicht eine besonders intuitive Bedienung, da der Anwender im Idealfall nicht zwischen gefundenen und hierarchisch gespeicherten Daten unterscheiden muss.
Eine bereits ausgereifte derartige Entwicklung befindet sich ebenfalls in den BeOS-basierten Betriebssystemen, wo es auf das Dateisystem BFS über das VFS des Betriebssystem aufgesetzt wurde. Es bietet eine sehr schnelle, anwenderfreundliche Desktopsuche aus allen Applikationen heraus, und hat sich als überaus stabil erwiesen.
Die großen freien Desktop-Umgebungen KDE und GNOME, aber auch der Finder in Apple's Mac OS X bieten seit längerem über ihr virtuelles Dateisystem vergleichbare Dienste an. Die Referenzierung von Dateien auf der Basis ihrer Meta-Informationen scheint in Zukunft ein wesentlicher Ansatz zu sein, und könnte, besonders für unerfahrene Benutzer, zu einer wesentlichen Erleichterung im Umgang mit Computern führen. Die Einbindung dieser Funktionen über ein derartiges VFS bietet zahlreiche Vorteile für Entwickler, erfordert es aber auch, dass Applikationen, die diese Funktionen direkt nutzen möchten, nicht direkt auf das Dateisystem zugreifen dürfen, sondern dies über die entsprechenden Systembibliotheken unter der Nutzung des VFS tun müssen. Jedoch gibt es mittlerweile Ansätze, die diese VFS-Systeme direkt in das Dateisystem einbinden, unter Linux etwa über das FUSE-Dateisystem.
Microsoft arbeitete zwischenzeitlich an WinFS, einer SQL-basierten Dateisystemschicht, die prädestiniert für eine systemweite Desktopsuche gewesen wäre. Eine derart tiefgreifende Integration in das Betriebssystem-VFS von Windows, wie Microsoft das vorgesehen hatte, führte aber zu unerwarteten Problemen. Microsoft hat im Juni 2006 eine Einstellung des Projekts bekannt gegeben.
Suchwerk funktioniert ähnlich, ist aber einigen potentiellen Problemen aus dem Weg gegangen, indem es seine Daten in Form eines Netzwerkslaufwerkes darstellt.
Wikimedia Foundation.