AA_mars_123rf-5737630_36clicks.jpg

© 36clicks, 123rf.com

Desktopsuche der feinen Art: Recoll 1.16

Total Recoll

Recoll bietet ein sehr einfach zu nutzendes Frontend für die Desktopsuche, ohne gleich alle erweiterten Funktionen vor dem Anwender zu verbergen.

Desktop-Suchmaschinen bestehen im Wesentlichen aus zwei Komponenten: Einem Crawler und einem Frontend. Der Anwender sieht normalerweise nur das Frontend, in dem er seine Anfragen eingibt. Meist unbemerkt vom Anwender versieht der Crawler seinen Dienst. Er arbeitet sich regelmäßig durch die zu indizierenden Verzeichnisse und bereitet dabei die gefundenen Dokumente so auf, dass deren Inhalt als Text zur Verfügung steht.

Bei speziellen Dateitypen wie Bildern, Videos und MP3-Files extrahiert er dazu die Metadaten der Files, bei Dokumenten deren Text. Das geschieht über sogenannte Filter, und so steht und fällt die Leistungsfähigkeit eines Crawlers mit der Qualität seiner Filter. Diese sollten beispielsweise auch in der Lage sein, gepackte Dateien zu lesen.

Aus den Textdaten erzeugt die Suchmaschine dann den Index. Besonders "schlaue" Indizes verwenden das sogenannte Stemming, das den Wortstamm indizierter Wörter als Indexeintrag nutzt. Das führt zum einen dazu, dass später unterschiedliche Schreibweisen eines Suchbegriffs zu Treffern führen, zum anderen erlaubt es auch eine einfache Rechtschreibprüfung.

Nach eben diesem Verfahren arbeiten das leistungsfähige Such-Frontend Recoll [1] und der Crawler Xapian [2], die zusammen ein schnelles und schlankes Duo abgeben. Da Recoll für den Index als Kodierung Unicode (UTF-8) verwendet, lassen sich Dokumente aller Sprachen mit diesem System verwalten. Eine Vielfalt an Filtern ermöglicht das Bearbeiten der zahlreicher Dokumententypen (siehe Kasten "Filter bauen"). Für das Stemming und die Rechtschreibprüfung greift Recoll auf Aspell zurück, als besonderes Feature unterstützt es die Indizierung von E-Mails.

Die gängigen Distributionen führen Recoll und Xapian in ihren Repositories, allerdings nicht unbedingt in der aktuellen Version. Ubuntu enthält beispielsweise nur Recoll 1.13 statt des aktuellen 1.16. Alternativ lassen sich unter Ubuntu und anderen Debian-basierten Distributionen die (aktuellen) Pakete von Debian-Sid verwenden. Offeriert Ihre Lieblingsdistribution Recoll und Xapian nicht, bleibt nur übrig, die Programme aus den Quellen ([3],[4]) zu übersetzen.

Filter bauen

Die Indexerstellung basiert wesentlich auf den eingesetzten Filtern. Die Liste der von Recoll unterstützten Eingangsformate ist lang: Text, HTML, E-Mail (alle Varianten), ODF, Microsoft Office, OOXML, AbiWord, KWord, Gaim, Lyx, Scribus, PDF, WordPerfect, Postscript, RTF, TeX, DVI, DjVu, MP3 und andere Audioformate, JPEG und weitere Bildformate. Die Bearbeitung der Dokumente erfolgt rekursiv, so dass Recoll beispielsweise auch komprimierte Anhänge berücksichtigt. Die Filter liegen als Shell-Skripts vor – daher lassen sich relativ einfach neue Filter aus den bestehenden ableiten. Dazu editieren Sie eines der Skripts und speichern es unter einem neuen Namen ab. Die Recoll-Dokumentation beschreibt die erforderlichen Schritte im Detail.

Voreinstellungen

Beim ersten Start findet Recoll im voreingestellten Verzeichnis ~/.xapian/ keinen Index und meldet dies (Abbildung 1). Via Cancel wechseln Sie nun zur Konfiguration. Zunächst sollten Sie nur einen kleinen Index definieren, etwa für Ihr Home-Verzeichnis. Sie brauchen dafür nur wenige Einstellungen in den globalen Parametern vorzunehmen (im Menü Voreinstellungen unter Indizierungskonfiguration, Abbildung 2).

Abbildung 1: Die Suchmaschine muss zunächst einen Index erstellen.
Abbildung 2: Zunächst gilt es die Indizierung zu konfigurieren.

Startverzeichnisse enthält eine Liste der zu indizierenden Ordner. Möchten Sie Ordner oder Dateien explizit ausschließen, vermerken Sie das unter Ausgelassene Pfade. Hier sind Angaben wie ~/.wine und ~/.xsession-errors sinnvoll. Um die weiteren Einstellungen brauchen Sie sich nicht unbedingt zu kümmern, sie verbessern aber den Index.

Wortstammerweiterungssprachen definiert, für welche Sprachen Recoll das Stemming vornimmt. Aspell language beeinflusst das Anlegen eines Aspell-Dictionarys. Wo Recoll den Index speichert, definiert Database directory name. In der Voreinstellung erzeugt Recoll kein Protokoll, sondern schreibt die Ergebnisse der Filter auf das Terminal, von dem aus das Programm gestartet wurde. Log Datei ermöglicht die Ausgabe in eine Datei.

TIPP

aspell config zeigt in der Shell an, welche Konfiguration für dieses wichtige Programm vorhanden ist.

Die Indexgröße hängt von vielen Faktoren ab. Neben Anzahl, Art und Inhalt der indizierten Dokumente spielen auch die verwendeten Filter eine Rolle. Oft erreicht der Index sogar die Größe der Originaldaten, manchmal – etwa bei komprimierten Eingangsdaten – wächst er sogar darüber hinaus. Enthält er dagegen hauptsächlich Metadaten aus Multimediadateien, fällt er erheblich kleiner aus.

Sollte ein Index einmal korrupt sein und beispielsweise unsinnige Ausgaben als Suchergebnisse liefern, löschen Sie am besten das Verzeichnis ~/.xapian und erzeugen einen neuen Index.

Feinschliff am Index

Voreingestellt erfolgt die Indizierung inkrementell: Recoll indiziert Dokumente nur dann erneut, wenn sie verändert wurden. Sie können das Befehlszeilenprogramm recollindex allerdings mit der Option -z zum Erzeugen eines ganz neuen Index zwingen.

Es gibt zwei Möglichkeiten, den erzeugten Index aktuell zu halten. Bei größeren Beständen sollte ein zeitlich günstig angestimmter Cron-Job – etwa nachts, bei minimaler Systemlast und wenigen Zugriffen auf den Index – den Befehl recollindex aufrufen, der dann neue und veränderte Dokumente aufnimmt. Die andere Variante benötigt relativ viele Ressourcen und eignet sich damit eher für kleine Datenbestände: Beim sogenannten Real Time Indexing startet Recollindex als Dämon und wird durch einen Inotify-Monitor (Fam, Gamin, etc.) aktiviert, sobald Sie ein Dokument erstellen oder verändern.

Beide Varianten nutzen die gleiche Konfigurationsdatei, die Sie in der Umgebungsvariable $RECOLL_CONFDIR übergeben. Recollindex akzeptiert eine abweichende Datei auch als Argument von -c. Für den Daemon-Modus haben die Entwickler zudem das kleine Shell-Script rclmon.sh bereitgestellt, das die Arbeit steuert. Sie rufen es beim Start einer X-Session direkt auf. Die Originaldokumentation beschreibt den Einsatz. Debian-Pakete installieren es unter /usr/share/recoll/examples/rclmon.sh.

Auf der Shell stoppen [Ctrl]+[C] (bzw. die Signale SIGINT und SIGTERM) das Indizieren. Beim nächsten Lauf setzt Recoll seine Arbeit dort fort, wo sie zuvor beendet wurde, berücksichtigt aber zwischenzeitlich veränderte Dokumente.

Recoll kann auch in mehreren Indizes suchen, wenn Sie aus organisatorischen Gründen verschiedene Teile eines Dateisystems in unterschiedlichen Indizes abbilden. So lassen sich etwa die unter /usr/share/ und /usr/local/share/ vorhandenen Informationen für alle Anwender in einem Index vorhalten, während im Home-Verzeichnis enthaltene Dokumente in einem zweiten Index für jeden Anwender separat gespeichert werden. Diese unterschiedlichen Indizes aktivieren Sie im Einstellungsdialog unter Externe Indizes.

Recoll speichert seine Einstellungen in der Konfigurationsdatei ~/.recoll/recoll.conf (auszugsweise in Listing 1 zu sehen). In der bereits erwähnten Umgebungsvariablen $RECOLL_CONFDIR stellen Sie gegebenenfalls andere Verzeichnisse mit Konfigurationsdateien ein. Das genaue Format dieser Datei beschreiben eine Man-Page (man 5 recoll.conf) sowie die Kommentare in der Beispieldatei /usr/share/recoll/examples.

Listing 1

[...]
topdirs = /home/
skippedPaths = /home/.../.wine/  /home/*/.wine /home/*/.wine-/
indexstemminglanguages = english german german2
aspellLanguage = de
defaultcharset = UTF-8//
followLinks = 0
textfilemaxmbs = 220
[...]

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Nadel im Heuhaufen
    Ob Brief ans Finanzamt oder Mail vom Onlinehändler – mit der Desktopsuchmaschine Recoll finden Sie wichtige Dateien mit wenigen Mausklicks.
  • Angetestet
  • Tausende Dateien und Ordner: den Überblick behalten
    Überquellende Papierstapel mit unsortierter Post erschweren die Suche nach einem wichtigen Dokument, und das gilt analog auch für digitale Dokumente auf dem Linux-PC. Wir präsentieren Lösungen für eine aufgeräumte Platte, auf der Sie schnell finden, was Sie suchen.
Kommentare

Infos zur Publikation

LU 12/2016: Neue Desktops

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Brother Drucker DCP-J4120
Achim Zerrer, 09.12.2016 18:08, 0 Antworten
Hallo, ich wollte unter Leap 42.1 den Brother Drucker installieren und dazu das PPD- Datei vom do...
Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 2 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...