CMS, Wiki, Word-Files, … – selbst bei größter Disziplin aller Mitarbeiter kann kein Unternehmen seine Daten so strukturiert speichern, dass jedes Detail zügig auffindbar bleibt. Was tun? Aus den Apache-Projekten Solr, Nutch und Lucene eine eigene sauschnelle Suchmaschine bauen.
In dem Maße, in dem die gespeicherten Informationen in der Firma an Quantität und Komplexität zunehmen, wächst die Gefahr, Teile davon aus dem Radar zu verlieren. Das macht lokale Suchmaschinen für viele Firmen attraktiv. Zwar besitzt praktisch jedes Contentmanagement-System eine Suche, die hat aber nur die eignen Daten im Blick und arbeitet langsam. Irgendwo wächst noch ein Wiki Stück um Stück. Weitere Daten gibt’s als PDF oder in anderen Dokumentenformaten. Kurz: Informationen lagern an unterschiedlichen Orten in unterschiedlichen Formaten.
Mit wachsendem Datenumfang muss sich der Admin überlegen, wie er den Überblick behalten will. An dieser Stelle kommen kommerzielle Hersteller ins Spiel, die allerdings fast immer den Suchindex auf fremden Servern ablegen wollen, wie etwa Google [1]. Besser fährt, wer auf Open-Source-Tools setzt und mit einem eigenen Linux-Suchmaschinenserver die Hoheit über seine Daten behält. Denn auch die großen Hersteller setzen im Backend mit wenigen Ausnahmen auf die gleichen Open-Source-Tools: Nutch, Solr, Apache und Lucene.
Komponenten installieren
Unter dem Namen Nutch [2] bietet die Apache Foundation einen leistungsstarken Webcrawler an. In Verbindung mit Apache Solr [3], einer Searchengine basierend auf Apache Lucene [4], entsteht eine komplette Suchmaschine – ein Mini-Google. Der folgende Workshop zeigt am Beispiel von Ubuntu 14.04.2 LTS, 64 Bit, wie ein Admin ein solches Setup aufsetzt und benutzt.
Der Crawler Nutch fahndet per HTTP und FTP nach Informationen. Wer zusätzlich lokale Dateien unter die Lupe nehmen will, muss einen HTTP- oder FTP-Server vorhalten und auf die zu untersuchenden Verzeichnisse oder Netzwerkfreigaben zeigen lassen. Achtung: Der Crawler indiziert die Daten, welche die beteiligten Daemons sehen. Je nach Rechtekonzept kann das mehr sein, als normale Benutzer im Zugriff haben. Admins sollten das beim Betrieb im Blick behalten.
Auf Canonicals Enterprise-Linux ist Solr über die Paketquellen verfügbar, der Admin muss nur Nutch manuell installieren (Listing 1, Zeilen 1 bis 4). Dann sichert er das Default-XML-Schema von Solr und ersetzt es durch die mit Nutch gelieferte Datei (Zeilen 6 und 7).
Standardmäßig speichert der Server den Inhalt einer gefunden Seite oder eines Dokuments nicht. Indiziert er neu, überträgt er alle Inhalt abermals. Wer Caching wünscht, kann das in der Konfigurationsdatei »/etc/solr/conf/schema.xml« aktivieren, indem er in der Zeile
<field name="content" type="text" stored="false" indexed="true"/>
den Eintrag »stored=”false”« auf »”true”« setzt und anschließend Tomcat mit »service tomcat6 restart« neu startet.
Listing 1
Solr und Nutch installieren
01 apt-get install solr-tomcat 02 wget http://www.eu.apache.org/dist/nutch/1.9/apache-nutch-1.9-bin.tar.gz 03 tar vfx apache-nutch-1.9-bin.tar.gz 04 mv apache-nutch-1.9 /opt/nutch 05 06 mv /etc/solr/conf/schema.xml /etc/solr/conf/schema.xml.orig 07 cp /opt/nutch/conf/schema.xml /etc/solr/conf/schema.xml
Nutch-Crawler konfigurieren
Das Verhalten des Crawlers lässt sich mit der Datei »/opt/nutch/conf/nutch-default.xml« steuern. Zwar könnte der Admin die Werte in ihr einfach ändern, wie beim Webserver Apache ist es jedoch meist geschickter, diese in der Datei »/opt/nutch/conf/nutch-site.xml« zu überschreiben, die die Site-spezifischen Details beinhaltet.





