Aufmacher

Nadel im Heuhaufen

Dateien finden mit Recoll

01.04.2007 Ob Brief ans Finanzamt oder Mail vom Onlinehändler – mit der Desktopsuchmaschine Recoll finden Sie wichtige Dateien mit wenigen Mausklicks.

Egal, ob es um den Brief ans Finanzamt aus dem letzten Jahr oder eine E-Mail mit der Bestätigung des letzten Einkaufs beim Onlineshop geht – selbst wer eisern seine Daten und Dokumente in einer wohlüberlegten Verzeichnisstruktur ordnet, vermisst irgendwann unweigerlich eine wichtige Datei – vorzugsweise, wenn es eilt.

Hier hilft der Griff zur Suchfunktion im Filemanager. Unglücklicherweise gleicht die aber nur die Dateinamen ab. Wer Glück hat, darf zusätzlich noch den Inhalt von Textdateien durchforsten. Da nützt es wenig, wenn man noch weiß, dass der in OpenOffice verfasste Brief an das Finanzamt den Dateinamen 12112005fa trägt. Nach quälend langer Festplattenaktivität fällt das Ergebnis recht trotzdem mager aus.

Abhilfe schafft Recoll [1], Ihre ganz persönliche Volltextsuchmaschine (nicht zu verwechseln mit der Datenbank Rekall). Sie sucht die eingetippten Begriffe nicht nur in so genannten externen Attributen, wie dem Dateinamen, sondern auch in den Dokumenten selbst. Genau wie andere Desktopsuchmaschinen – etwa Beagle [2] – baut Recoll auf einem Index auf. Den füllt es über ein großes Arsenal von Hilfswerkzeugen, die Dokumenteninhalte untersuchen. Als Index-Engine nutzt Recoll Xapian [3].

Installation

Benutzer der Distributionen Fedora Core 5, Mandriva 2005 bis 2007 sowie Anwender, die auf Suse 10.1 und Ubuntu 6.10 setzen, haben es einfach: Für sie stehen passende Archive auf der Recoll-Homepage bereit. Hier heißt es einfach herunterladen und mit dem jeweiligen Paketmanager einspielen. Anschließend taucht die Suchmaschine automatisch im Startmenü auf.

Bei Redaktionsschluss kamen Ubuntu-6.10-Anwender in den exklusiven Genuss einer neueren Recoll-Programmversion: Sie enthält gegenüber der Vorversion 1.7.5 ein paar Modifikationen für Debian-basierte Distributionen. Wer ein derartiges Linux-System betreibt, sollte folglich die neue Variante einsetzen.

Besitzer anderer Distributionen greifen zum Quellcodearchiv und erstellen selbst eine ausführbare Programmdatei. Stellen Sie vorab sicher, dass das Entwicklerpaket für die Qt-Bibliothek installiert ist. Bei einigen Distributionen liegt es bei, bei anderen gilt es, das entsprechende Paket nachzuinstallieren. Es trägt meist den Zusatz -devel oder -dev im Namen. Recoll verlangt hier mindestens die Version 3.3.5.

Anschließend laden Sie von der Website des Xapian-Projekts das Paket xapian-core herunter. Nun öffnen Sie ein Terminalfenster und entpacken das Archiv in ein Verzeichnis Ihrer Wahl. Schließlich wechseln Sie dorthin und führen als Benutzer root die folgenden Befehle aus:

./configure
make install
ldconfig

Nach diesen Vorbereitungen kommt die Suchmaschine selbst an die Reihe. Laden Sie das passende Archiv von der Recoll-Homepage [1] herunter und entpacken Sie es. Danach geht es per ./configure weiter. Es folgen noch ein make, um die Anwendung zu erstellen und ein make install, um sie fest im System zu verankern. Die Aufnahme in das Startmenü müssen Sie selbst vornehmen, ansonsten genügt auch ein recoll im Terminalfenster.

Unter der Oberfläche

Wer genauer hinsieht, erkennt, dass Recoll lediglich als Oberfläche für die kompakte Suchmaschine Xapian arbeitet. Letztere verwendet recht ausgeklügelte Verfahren zum Sammeln der Information. Die Bibliothek zeichnet sich für das Erstellen des Index verantwortlich. In einer Minidatenbank merkt sich Xapian, wo in welchem Dokument welches Wort auftritt.

Formatfrage

Standardmäßig unterstützt Recoll die Suche in Dateien der Typen Text, HTML, und OpenOffice sowie die Mailbox-Formate Maildir und Mbox. Für weitere Dateiformate, wie etwa Microsoft Word, benötigen Sie zusätzliche Hilfsprogramme. Dazu zählen beispielsweise:

  • PDF: Pdftotext (Teil des Xpdf-Pakets)
  • Postscript: Pstotext
  • Word: Antiword
  • Excel und Powerpoint: Catdoc
  • RTF: Unrtf
  • DVI: Dvips
  • DJVU: Djvulibre
  • MP3: Id3lib (Recoll wertet die ID3-Tags aus)

Mächtiger Index

Nach dem ersten Start bietet Recoll an, Ihr Heimatverzeichnis zu durchstöbern, die darin gefundenen Dateien zu untersuchen und die Eckdaten dazu in einem so genannten Index abzulegen (Abbildung 1). Dank dieser Informationen findet Recoll die gesuchten Dokumente schneller. Klicken Sie deshalb hier auf OK. Es erscheint nun das Hauptfenster, in dessen Statusleiste am unteren Rand Informationen über das Erstellen des Index erscheinen.

Abbildung 1

Abbildung 1: Nach dem ersten Programmstart legt Recoll zuallererst einen Index an.

Da sich die Suchmaschine vollständig auf diesen Index stützt, kommen Sie als Benutzer nicht umhin, ihn regelmäßig per File | Update Index auf den neuesten Stand zu bringen. Möchten Sie diesen Vorgang automatisieren, bleibt nur das Kommandozeilenprogramm recollindex übrig, das Sie in bestimmten Zeitabständen beispielsweise per Cron starten. Die meisten Distributionen bringen hierzu entsprechende Konfigurationsprogramme mit.

Desweiteren bläht sich der Index unter Umständen recht gewaltig auf. Normalerweise erreicht er noch einmal die Größe des eigenen Heimatverzeichnisses, wächst im Extremfall aber sogar darüber hinaus. Wie lange Recoll für das Erstellen des Index benötigt, hängt sowohl von der Datenmenge als auch von der Leistungsfähigkeit Ihres Computers ab.

15 GByte inspiziert das Werkzeug in ungefähr einer halben Stunde. Sobald Recoll ein Dokument einmal erfasst hat, liest es die Datei erst nach einer Änderung wieder ein – selbst, wenn Sie den Index manuell aktualisieren. Ein Dokument bleibt folglich bei einer Suche unberücksichtigt, wenn es wieder gelöscht, von Recoll noch nicht erfasst, oder in ein anderes Verzeichnis verschoben wurde.

Finderlohn

Sobald der Index steht, können Sie nach Begriffen suchen. Dazu tippen Sie einfach das entsprechende Wort oder die Wörter in das Eingabefeld oberhalb der Ergebnisbox und klicken auf Search. Recoll schlägt im Index nach und präsentiert anschließend in einer Liste alle Dokumente, in denen das gesuchte Wort auftaucht (Abbildung 2). Ähnlich wie die Internetsuchmaschine Google sortiert die Software alle gefundenen Dokumente nach Relevanz im Hinblick auf die vorgegebenen Stichwörter.

Abbildung 2

Abbildung 2: Recoll zeigt zwei Dokumente aus dem Heimatverzeichnis an, die den Begriff "Geld" enthalten. Zwischen Groß- und Kleinschreibung unterscheidet Recoll dabei nicht.

Sofern die Suchmaschine dabei gut geraten hat, finden Sie direkt im obersten Eintrag genau das von Ihnen gesuchte Dokument. Ein Klick auf Edit startet ein passendes Betrachtungsprogramm. In den Einstellungen unter Preferences | Query configuration auf dem Register User Interface hinter Manage dürfen Sie die verwendeten Anwendungen anpassen.

Standardmäßig führt Recoll alle Dokumente auf, die mindestens einen der Suchbegriffe enthalten. Möchten Sie hingegen nur Ergebnisse sehen, die wirklich alle eingetippten Wörter umfassen, so wählen Sie in der Liste direkt links neben dem Eingabefeld den Punkt All terms. Komplette Phrasen setzen Sie in Anführungszeichen.

Möchten Sie die Suchanfrage etwas detaillierter steuern, finden Sie hinter Tools | Advanced Search die Eingabemaske aus Abbildung 3. Dort legen Sie Wörter fest, die nicht im Dokument auftauchen dürfen, und schränken im unteren Bereich die Suche auf bestimmte Dateiformate ein.

Abbildung 3

Abbildung 3: In der erweiterten Suchmaske schränken Sie die Suche weiter ein. Hier sucht Recoll nach Dokumenten, die den Begriff "Geld", aber nicht "Finanzen" enthalten, und die entweder als RTF oder Word-Dokument vorliegen.

Trickkiste

Manchmal kommt es vor, dass Sie sich nicht mehr erinnern, wie das gesuchte Wort genau lautete. Bei der Suche nach dem Brief für das Finanzamt käme der Begriff "Geld" als Suchkriterium in Frage. Vielleicht stand in dem Brief damals aber auch der Plural "Gelder". Sofern Sie das Wörterbuch Aspell installiert haben, kümmert sich Recoll automatisch um dieses Problem. Standardmäßig fahndet es selbständig nach allen Wörtern mit gleichem Wortstamm.

Im Fall von "Geld" würden somit auch alle Dokumente gefunden, in denen die Wörter "Geldes" oder "Gelder" vorkommen. Außerdem beugt das Programm zusätzlich Verben, soweit möglich. Damit Recoll dabei die korrekte Sprache wählt, geben Sie diese in den Einstellungen unter Preferences | Query configuration auf dem Register Search parameters unter Stemming language vor.

Dort stand allerdings nach der Installation nur english zur Auswahl. Ein Blick in das Verzeichnis .recoll/xapiandb zeigte, dass sich dort ein Unterverzeichnis stem_english befindet, in dem wiederum Indexdateien liegen. Die Beispielkonfiguration zeigte, dass die Option indexstemminglanguages die entsprechenden Sprachen enthalten muss, bei denen das Programm vom Wortstamm ausgehend auch verwandte Begriffe sucht.

Bei dieser Form der Suche setzt Recoll zusätzlich zur Xapian-Engine auf die Snowball-Engine [4]. Welche Sprache die zum Erzeugen der Wortstammdaten versteht, zeigt die passende Website. Standardmäßig erzeugt die Software nur Wortstammdaten für die englische Sprache. Füllen Sie daher die besagte Option mit english german auf, um für diese beiden die entsprechenden Indexe zu erzeugen. Ein erneuter Indizierungslauf mit Recollindex erzeugt dann mit stem_german ein Unterverzeichnis auf Grundlage des deutschen Wörterbuchs.

Bei Tippfehlern im Suchbegriff läuft jede Suche jedoch ins Leere. In solch hartnäckigen Fällen hilft der "Term Explorer" weiter (Tools | Term explorer). Mit ihm durchsuchen Sie die Liste der im Index vorgehaltenen Begriffe (Wildcard und Regexp), nutzen die Wortstammsuche (Stem expansion) oder prüfen mittels Aspell Ihr Suchwort (Spelling/Phonetik).

Letzteres setzt allerdings voraus, dass neben dem Aspell-Programm auch die notwendigen Dictionaries vorliegen. So zeigte sich beispielsweise eine frische Installation von Ubuntu 6.10 trotz deutscher Sprachauswahl nicht in der Lage, diese gleich ins System zu integrieren. Hier war Nacharbeit angesagt: Erst nach Installation des Pakets aspell-de funktionierte das Feature.

Im Term Explorer stöbern Sie ähnlich wie in einem Wörterbuch: Einfach den entsprechenden Begriff eintippen und auf Expand klicken. Bei der Suche mittels Wildcards oder regulären Ausdrücken sowie bei der Wortstammsuche liefert das Programm eine Liste mit Treffern und Anzahl zurück. Ein Doppelklick auf einen Begriff übernimmt den Begriff in die Suchleiste. Etwas ungünstig wirkte sich bei diesem Test aus, dass das Fenster des Term Explorers die Leiste verdeckte, und somit nicht sofort klar war, was der Doppelklick bewirkte.

Die Funktionen Wildcard und Regexp verstehen Platzhalter, wie * oder ?. Die Arbeitsweise unterscheidet sich jedoch in einer etwas gewöhnungsbedürftigen Weise: So liefert bei Wildcard ein *ung alle Wörter, die in den untersuchten Dokumenten vorkommen und auf ung enden. Bei der Funktion Regexp erzielt der Suchbegriff [A-z]*ung ein annähernd ähnliches Ergebnis – wobei dies nicht die Begriffe berücksichtigt, die Ziffern im ersten Wortteil enthalten.

Abbildung 4

Abbildung 4: Der Term Explorer erlaubt es auf vielfältige Weise, den Index nach Vorkommen von Begriffen und ähnlichen Wörtern zu durchsuchen.

Hausverbot

Standardmäßig berücksichtigt Recoll alle Dokumente im Heimatverzeichnis des aktuellen Benutzers. Möchten Sie dieses Verhalten ändern und beispielsweise bestimmte Unterverzeichnisse von der Suche ausschließen, so bleibt derzeit nur ein manueller Eingriff in die Konfigurationsdateien. Letztere finden sich im versteckten Unterverzeichnis .recoll, wo übrigens auch der Index liegt.

Dort öffnen Sie die Datei recoll.conf mit einem Texteditor und fügen den Eintrag topdirs = hinzu, falls dieser nicht vorhanden ist. Ihm folgen, jeweils durch ein Leerzeichen getrennt, alle Verzeichnisse, die Recoll bei der Suche berücksichtigt. Unterverzeichnisse schließt die Suchmaschine dabei automatisch mit ein.

Fazit

Recoll stellt eine schnelle, kleine Desktop-Suchmaschine zur Verfügung. Sie lässt sich einfach bedienen und bietet dennoch viele nützliche Funktionen, um eine Suchanfrage zu verfeinern. Da stört nur der ziemlich wuchtige Index, der wertvollen Plattenplatz schluckt. Wer viele Dokumente verwaltet oder häufiger bestimmte Dateien sucht, sollte trotzdem einen Blick auf Recoll riskieren.

Infos

[1] Recoll: http://www.recoll.org

[2] Beagle: http://www.gnome.org/projects/beagle/

[3] Xapian Projekt: http://www.xapian.org

[4] Snowball-Engine: http://snowball.tartarus.org

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare