Open Source im professionellen Einsatz
Linux-Magazin 07/2013
Monika Wisniewska, 123RF.com

Monika Wisniewska, 123RF.com

Solr, Xapian und Sphinx

Spürhunde

Volltextsuchmaschinen wie Solr, Xapian und Sphinx machen nicht nur das tägliche Datenchaos auf einer Festplatte durchsuchbar, sondern kommen auch mit relationalen Datenbanken klar.

454

Eine Liste mit zehn Webseiten zu erstellen, die das neue Ubuntu besprechen, ist simpel: Man verwendet einfach eine der populären Web-Suchmaschinen. Doch wer selbst eine Webseite mit vielen Informationen präsentiert und für diese eine eigene Suchfunktion anbieten will, steht mitunter vor einer ganz anderen Aufgabe – und die heißt Volltextsuche.

Die fahndet in den frei vagabundierenden oder systematisch angeordneten Daten nach einem oder mehreren Suchbegriffen. Ihre Ergebnisse soll die Suche aber nicht nur nach Relevanz sortiert ausspucken, sondern die Treffer möglichst in Sekundenbruchteilen abliefern.

Ordnung muss (nicht) sein

Zum Glück müssen Admins und Entwickler dafür das Rad nicht neu erfinden: Solr, Xapian und Sphinx sind Open-Source-Projekte, die Daten indexieren und auswerten. Doch sind Daten nicht gleich Daten: Grob lassen sich zwei Zustände unterscheiden, in denen die Suchmaschinen ihre Informationen vorfinden: strukturiert und unstrukturiert.

Strukturierte Daten lassen sich einfach erkennen, kategorisieren und mit Hilfe von Anwendungen prozessieren, weil sie eine feste, vordefinierte Struktur aufweisen. Die häufigste Form ist die einer relationalen Datenbank, die Daten in Spalten und Reihen organisiert, die wiederum in Form von Tabellen verbunden sind. Unstrukturierten Daten fehlt hingegen ein Datenmodell. Solche Datensätze sind oft so mehrdeutig, dass ein Programm sie nicht einfach verarbeiten kann, weil sich etwa Daten, Zahlen und Fakten wild vermischen. Hier spielen Suchmaschinen ihre Trümpfe aus, da sie die Daten im Chaos zumindest semantisch ordnen.

Indexieren

Grundsätzlich verfolgen Suchmaschinen dabei zwei Ziele: Beim Indexieren bereiten sie Daten so auf, dass sie einfacher zugänglich werden. Der Suchvorgang stellt hingegen die Informationen, die in den Indizes stecken, sinnvoll zusammen. Das Wort Indexieren steht im Duden und bedeutet, eine Liste von Dingen erstellen. Das ist der erste Schritt im Prozess.

Solr, Sphinx und Xapian durchforsten mit Hilfe der so genannten Indexer den kompletten Bestand an Daten, um ihn mit Hilfe verschiedener Algorithmen (siehe Kasten "Stoppwörter und Wortstammbildung") in eine durchsuchbare Form zu bringen. Grob vereinfacht isoliert die Suchmaschine Schlüsselbegriffe aus dem Datenwust und legt sie in Form von Trees, Hashtabellen oder Binary Trees in Indexdateien ab, die auch die relative Position der Begriffe in den Originaldokumenten verzeichnen.

Stoppwörter und Wortstammbildung

Es gibt Wörter in allen Sprachen, die dem eigentlichen Textkörper, zu dem sie gehören, keine weitere Bedeutung hinzufügen und die der Indexer gewöhnlich aussortiert. Im Deutschen gehören zu diesen Stoppwörtern die bestimmten Artikel (der, die, das), unbestimmte Artikel (ein, eine, einer) oder Konjunktionen (und, oder).

Als Wortstammbildung bezeichnet man ein Verfahren, das deklinierte oder konjugierte Wörter auf ihren Wortstamm zurückführt. Der zugehörige Algorithmus ordnet zum Beispiel die Wörter "ging" und "gegangen" beide dem Wortstamm "gehen" zu.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

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

Linux-Magazin kaufen

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

Deutschland

Ähnliche Artikel

  • No-SQL-Datenbank Riak 2.0 mit neuen Features

    Mit Version 2.0 erfährt die No-SQL-Datenbank Riak zahlreiche Neuerungen und Änderungen, die sämtliche Bereiche betreffen. Dazu gehören unter anderem die Suche, die Sicherheit und die Konsistenz der Daten.

  • Suchmaschine

    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.

  • Lucene und Solr 4.0 bringen Tempo und Cluster

    Die Java-Suchmaschinenbibliothek Apache Lucene sowie der darauf beruhende Suchserver Solr sind in Version 4.0 mit vielen Verbesserungen verfügbar.

  • Solr 5 auf der Zielgeraden

    Apaches Suchplattform Solr nährt sich der Vollendung. Begleitend zum aktuellen Release Candidate liefern die Entwickler einen Ausblick auf die zu erwartenden Features der fertigen Version.

  • Suchduo Lucene und Solr in der Version 4.4 erschienen

    Die Suchbibliothek Lucene und die darauf aufbauende Suchplattform Solr sind in Version 4.4 erschienen und bieten zahlreiche neue Features an.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.