Home / LinuxUser / 2010 / 12 / Suchmaschinenübergreifendes Frontend Catfish

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

AA_catfish_helicop_sxc_276324.jpg

© Helicop, sxc.hu

Fischfutter

Suchmaschinenübergreifendes Frontend Catfish

27.10.2010 Statt sich auf der Suche nach der gewünschten Information mühsam durch die Datenberge zu wühlen, verwenden Sie einfach Catfish – und sind so nur einen Klick vom Resultat entfernt.

Angesichts der Suche in den stetig wachsenden Datenbergen auf dem PC nimmt sich die sprichwörtliche Suche nach der Nadel im Heuhaufen geradezu wie ein Kinderspiel aus. Nur langsam beginnen Metadaten – etwa aus Mails und Office-Dokumenten – in die Suchindizes einzufließen. Frontends wie Catfish [1] erlauben den schnellen und komfortablen Zugriff auf die angesammelten Informationen.

Das Programm sucht anhand des Namens oder Namensbestandteilen sowie Stichwörtern nach Dateien. Daneben ermöglicht es über spezielle Backends die Suche im Volltext von Dokumenten oder deren Metadaten – so zum Beispiel bei Bildern, Musik- und Videodateien. Derzeit unterstützt es als Backends Find, Slocate, Doodle [2], Tracker [3], Beagle [4], Strigi [5] und Pinot [6].

Die meisten Distributionen führen Catfish in ihren Repositories. Daher bietet sich die die Installation via Paketmanager an, da dieser alle Abhängigkeiten berücksichtigt. Bei Debian-basierten Distributionen erledigt das zum Beispiel der Befehl sudo apt-get install catfish auf der Kommandozeile.

Für den effektiven Einsatz von Catfish benötigen Sie neben dem Frontend noch mindestens eines der oben genannten Backends. Falls der Paketmanager dies nicht automatisch auswählt, sorgen Sie selbst dafür.

Vom Suchen und Finden

Eigentlich gibt es nur zwei Methoden, um Daten in Dateien auf lokalen Datenträgern zu finden. Die eine ist sehr langsam, aber (ziemlich) exakt, die zweite schnell, liefert aber manchmal nicht mehr relevante Ergebnisse: Bei letzterer, der Suche on-the-fly, sucht ein Programm zum Zeitpunkt der Suchanfrage nach den gewünschten Daten und liefert die gefundenen Dateien als Ergebnis zurück.

Der Vorteil dieser Tools liegt in der Aktualität des Ergebnisses: Es tauchen nur momentan vorhandene und lesbare Dateien auf. Typische Vertreter dieser Gattung sind Befehlszeilentools wie Find und Grep. Find sucht nach Dateinamen, Grep nach Dateiinhalten – wobei es unzählige Varianten dieser Tools gibt, die verschiedene Features erweitern oder kombinieren.

In der Praxis zeigt sich jedoch sehr schnell ein Nachteil: Bei den heute üblichen großen Festplatten dauert die Such unter Umständen mehrere Stunden und verursacht eine hohe Last, was die Arbeit auf dem System meist deutlich behindert. Zusätzlich beginnen diese Tools die Suche immer wieder ganz am Anfang – Effektivität sieht anders aus.

Die zweite Suchvariante vermeidet diese Nachteile, indem sie auf eine oder mehrere Datenbanken aufsetzt, sogenannte Indizes. Dazu gilt es die Datenbanken vorab zu initialisieren. Je nach Konfiguration wachsen diese dann unter Umständen auf mehrere GByte Größe an. Strigi und Beagle funktionieren nach diesem Prinzip [7].

Die Qualität der Suchergebnisse hängt bei diesem Ansatz stark von den zugrunde liegenden Datenbanken ab. Es kommt daher immer mal wieder vor, dass einige als Ergebnis genannte Dateien inzwischen nicht mehr existieren oder, noch schlimmer: Neu angelegte Dateien fehlen oft in den Datenbanken und bleiben daher unberücksichtigt.

Diesem Dilemma versuchen die Entwickler mit automatischen Update-Mechanismen für die Datenbanken zu entgehen, was nicht immer gut gelingt. Dafür liefern die Anfragen an den Index sehr schnell Ergebnisse zurück, typischerweise innerhalb von Sekunden. Es gibt inzwischen eine ganze Reihe solcher Desktopsuchmaschinen, die die meisten Distributionen in ihren Repositories vorhalten: Slocate (in mehreren Varianten, verwaltet Dateinamen und Pfade) sowie Strigi, Beagle, Tracker und Pinot (für Datei-Inhalte). Wie diese Suchmaschinengattung funktioniert, erklärt der Kasten "Funktionsweise von Doodle" am Beispiel des entsprechenden Exemplars.

Funktionsweise von Doodle

Stellvertretend für die datenbankbasierten Suchmaschinen steht an dieser Stelle Doodle. Diese Suchmaschine verwendet relativ kleine Indizes, weil sich die Inhaltssuche auf die Metadaten beschränkt und die Volltexte nicht mit einbezieht. Dafür arbeitet sie schnell und effektiv. Um Doodle zu verwenden, legen Sie zuerst dessen Datenbank an. Üblicherweise geschieht dies als root. Die neue Datenbank entsteht im Verzeichnis /var/lib/doodle/ und liegt dort in der Datei doodle.db.

Mit dem Befehl sudo doodle -b -V /usr /home indizieren Sie beispielsweise die beiden angegebenen Verzeichnisse samt der enthaltenen Unterverzeichnisse. Die Option -V weist das Programm an, die gerade bearbeitete Datei anzuzeigen. Bei Doodle darf das Indizieren mehrerer Verzeichnisse auch in einzelnen Schritten erfolgen. Das ist sinnvoll, wenn es darum geht, die Inhalte (Metadaten) von Dateien in den Index aufzunehmen, denn voreingestellt erfasst die Software nur die Dateinamen und Pfade.

Mit der Option -l Sprache indiziert Doodle bei Bedarf Metadaten. Die Sprache geben Sie dabei als Kürzel aus zwei Buchstaben (zum Beispiel DE für Deutsch) an. Der Indexer setzt beim Erfassen der Inhalte auf die Libextractor [8], die Schlüsselwörter aus vielen der üblichen Dateiformate auszulesen vermag.

Erweitern Sie also oben angegebenen Befehl um die passende Option, bearbeitet Doodle beide Verzeichnisse so, dass das Programm die überwiegend deutschen Texte im Homeverzeichnis und die englischen Dokumentationen unter /usr/ korrekt erfasst. Um nicht alle Dateien einer Hierarchie zu bearbeiten, ermöglicht es die Option -P ("prune"), gezielt einzelne Pfade vom Bearbeiten auszuschließen.

Der erneute Aufruf des Befehls aktualisiert den Index. Doodle entfernt dabei Einträge nicht mehr vorhandener Dateien, überprüft jene der vorhandenen Files auf Veränderungen und nimmt neue in den Index auf. Eine Besonderheit besteht darin, dass Doodle das gleiche Programm sowohl zum Indizieren als auch zur Suche verwendet. Daher sucht doodle Suchwort alle Einträge zum angegebenen Begriff. Weitere Optionen liefert die Manpage des Programms.

All diese datenbankbasierten Suchmaschinen enthalten eigene, spezielle Frontends, um die Suche möglichst einfach zu gestalten. Dabei unterscheiden sich sowohl die von den Suchmaschinen unterstützten Dateiformate als auch die Frontends so stark voneinander, dass es meistens ziemlich schwierig oder zumindest verwirrend ist, mehrere von ihnen nebeneinander einzusetzen. An diesem Punkt setzen GUIs wie Catfish (aber auch KFind oder Gnome-search-tool) an. Sie vereinen unter einer Oberfläche eine oder mehrere Suchmaschinen, die Sie dann mit den gleichen Controls bedienen.

Im Trüben fischen

Catfish (Abbildung 1) gehört zu den eher einfachen Vertretern dieser Zunft. Oben links geben Sie den Suchbegriff ein. Dabei darf es sich um einen Dateinamen, ein Teil davon oder Text aus dem Inhalt handeln. Abhängig von der ausgewählten Suchmaschine erscheinen auch Treffer aus EXIF-Tags oder ähnlichen Metadaten. Die zusätzlichen Schalter steuern die Details der Suche beziehungsweise die Ausgabe der Ergebnisse.

Abbildung 1

Abbildung 1: Die Oberfläche von Catfish bietet neben einer einfachen Eingabezeile einige Schaltflächen zum Verfeinern der Suche und Eingrenzen der Treffer.

Links neben dem Suchwort finden Sie die Einstellungen zur Suche. Über Exact Match gibt die Applikation nur Treffer aus, die genau auf den Begriff zutreffen, also auf den gesamten Dateinamen oder ein Wort im Text. Bei der Locate-basierten Suche funktioniert das gut, mittels Find nutzt Catfish aber als Dateinamensmuster *Begriff*. Ohne die Option Exact Match ruft Catfish Locate mit der Option -i ("case insensitive") auf.

Durch Auswahl der Checkbox Hidden files weisen Sie Catfish an, versteckte Dateien zu berücksichtigen. Diese sowie die Option Volltextsuche stehen allerdings nur in Verbindung mit datenbankbasierten Suchmaschinen bei der Inhaltssuche bereit.

Bei den Icons unter File type, über die Sie die in den Ergebnissen berücksichtigten Dateitypen einschränken, wäre eine Ergänzung der Liste um beispielsweise HTML und XML, Quelltexte oder spezielle Bildformate sicherlich nützlich.

Über Ordner definieren Sie, wo Catfish mit der Suche beginnt. Das funktioniert sowohl beim Stöbern nach Dateinamen als auch bei den unterschiedlichen Inhaltssuchen. Welches Backend Catfish tatsächlich anwendet, stellen Sie via Suchmethode ein. Dabei bietet Catfish nur solche Methoden an, für die es die entsprechenden Programme im System findet.

Bei den Suchvorgängen unterstützt die Applikation derzeit weder Meta- oder Musterzeichen noch eine unscharfe Suche. Beides Features ließen sich relativ leicht integrieren – Doodle beispielsweise unterstützt unscharfe Suche mit der Befehlszeilenoption -a schon von sich aus. Das würde das Programm deutlich aufwerten würden.

Erhalten Sie auf Ihre Suche hin eine Reihe von Ergebnissen, zeigt Catfish diese im rechten Fenster in Form einer Liste an. Ein Doppelklick auf einen Eintrag lädt die entsprechende Datei; bei einer Textdatei kommt der voreingestellte Editor zum Einsatz.

Ein Wort noch zur Konfiguration von Catfish: Bisher erfolgt diese nur über Optionen auf der Kommandozeile, von denen das Programm einige beherrscht. Die Tabelle "Befehlszeilenoptionen" fasst diese zusammen. Ein großer Teil davon ist zusätzlich über die Oberfläche zugänglich.

Befehlszeilenoptionen

Option Wirkung
--large-icons große Icons verwenden
--thumbnails Thumbnails anzeigen
--iso-time Zeit und Datum gemäß ISO formatieren
--limit=Anzahl maximal Anzahl Ergebnisse ausgeben
--path=Pfad Suche in Pfad starten
--fileman=Dateimanager Dateimanager verwenden
--wrapper=Wrapper Wrapper zum Öffnen von Dateien verwenden
--method=Methode Suchmethode festlegen
--exact nur exakt übereinstimmende Ergebnisse anzeigen
--hidden versteckte Dateien einbeziehen
--fulltext Volltextsuche
--file-action=Aktion Aktion beim Öffnen von Dateien
Tip a friend    Druckansicht Bookmark and Share
Kommentare

3989 Hits
Wertung: 137 Punkte (8 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...