Erfolgreiches Information Retrieval mit Open Source

Apache Lucene sucht weiter

Bernd Fondermann

Was halten Sie von der Aufgabe, im nun folgenden Text alle Wörter zu suchen, die mit „ein“ beginnen oder sich so ähnlich anhören wie „wann“? Nichts? Na, dann lesen Sie am besten gleich weiter! In den kommenden Folgen dieser Serie wird auf die wichtigsten Features von Lucene eingegangen. Für den ersten Teil konzentrieren wir uns auf die Grundlagen des Kernprodukts, Apache Lucene.

Es soll manchen Firmenchef geben, der bemüht bei der Suche in seinem eigenen Produktportfolio die einschlägigen Suchmaschinen von Google, Yahoo oder Microsoft meidet, um sich nicht durch den Wust an Informationen, Navigationen und Querverlinkungen auf den Webseiten seines Unternehmens quälen zu müssen. Der Usability-Papst Jakob Nielsen teilt User in zwei Kategorien: die einen Nutzen die Navigation, die anderen die Suche. Letztere Gruppe dürfte vor allem der Grund dafür sein, dass laut seiner Untersuchung von 24 Websites aller Couleur, von denen 19 eine Suche anbieten, diese in keinem Fall ungenutzt bleibt [1]. Such-affine User erwarten also eine maßgeschneiderte Suchfunktion auf der Webseite – ansonsten steht zu befürchten, dass sie schnell aufgeben.

Der direkte Zugang zu relevanten Informationen ist heute so einfach wie noch nie. Kein Durchforsten von langen Texten mehr, kein Blättern im Schlagwortverzeichnis oder Abgrasen von Verzeichnissen. Das Suchwort ins Eingabefeld tippen und abschicken – die daraus erstellte Liste von Ergebnissen muss ausreichen, um den Besucher der eigenen Webseite zum Ziel zu führen. Das ist die Erwartungshaltung, die wir uns in Zeiten des „Googlens“ angeeignet haben.

Wer nun die Deutungshoheit über die Wichtigkeit und Präsentation seiner Inhalte anderen, nämlich den großen kommerziellen Suchmaschinen überlässt, lässt ein großes Potenzial ungenutzt. Neben dem Risiko, dass sein Mitbewerber vor ihm auf den Ergebnislisten landet, steht die Gefahr, gar nicht dort zu erscheinen. Denn spätestens bei Webformularen ist in der Regel Schluss. Seiten hinter solchen Formularen werden gar nicht von Google & Co besucht. Sie befinden sich auf der „anderen“, der dunklen Seite des Internets, die nicht in den Ergebnislisten der Suchmaschinen vorkommt. Wie man dort möglichst weit oben gefunden wird, ist Gegenstand von Suchmaschinenoptimierung. Wer eine eigene Suche anbietet, hat viel mehr Gestaltungsspielraum zur Benutzersteuerung.

Die Implementierung so einer Funktion ist kein Hexenwerk. Die freien Open-Source-Softwareprodukte des Apache-Lucene-Projekts bieten Lösungen rund um die Suche: vom Zusammensuchen der Daten von Ihren Quellen, über das Schreiben der auf die Suche optimierten Datenstrukturen bis hin zum Umsetzen der Anfrage in ein präsentables Resultat deckt Lucene den gesamten Workflow ab.

Lucene – das Entwickler-Kit

Lucene ist ein Java-basiertes Such-Framework. Entwickler können mit ihm im Handumdrehen eigene flexible Suchanwendungen bauen. Die aktuelle Version 2.4.0 liegt online zum freien Download bereit. An der grundsätzlichen Funktionsweise hat sich seit Jahren kaum etwas geändert: Lucene verwendet mehrere Dateien in einem zugewiesenen Verzeichnis, um die textuellen Rohdaten, mit denen es gefüttert wird, nach der Veredelung abzulegen. Dazu dreht Lucene ein Dokument auf links. Heraus kommt im Prinzip ein digitales Schlagwortverzeichnis. Lucene merkt sich, welche Wörter oder Wortbestandteile in einem Dokument vorkommen, wie oft und wo. Dies wird für jedes weitere Dokument wiederholt und die gewonnenen Informationen zusammengefügt. So entsteht nach und nach der so genannte „Index“. Er enthält für jedes Wort einen eigenen Eintrag. Jeder Eintrag wiederum trägt in sich eine Liste aller Dokumente in denen das Wort vorkommt. Das Finden aller Dokumente, die ein bestimmtes Wort enthalten, wird dadurch zum Kinderspiel, da lediglich auf den passenden Eintrag zugegriffen werden muss.

Geschrieben von
Bernd Fondermann
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.