Neue Features im Überblick

Apache Lucene 4.0


Apache Lucene geht in die nächste Runde: Lange Zeit war das Dateiformat zusammen mit den Datentypen und Strukturen zur Ablage des Index fest vorgegeben. Seit Doug Cutting die erste Version vor 13 Jahren vorstellte, wurde dieses Format nur geringfügig geändert. Nach langjähriger Entwicklungszeit erscheint nun parallel zur aktuellen Version 3.6.1 die neue Version 4.0. Neben dem Update des Indexformats auf ein über „Codecs“ flexibel anpassbares Framework gibt es aber auch noch viele andere Neuerungen: Durch neue Statistikdaten, die jetzt beim Indexieren mit abgelegt werden können, ist es auch möglich, das bisherige pure TF-IDF Ranking von Lucene durch moderne Varianten wie BM25 zu ersetzen. Lucene 4.0 wird mit einer Vielzahl von neuen Codecs und Ranking-Funktionen ausgeliefert.

Lucenes Welt – Ordnen, finden, klassifizieren

Unter der Überschrift „Flexible Indexing“ läuft ein Redesign des Fileformats von Lucene. Mit der Version 4.0 ist es erstmals möglich, auf einfache Weise die Speicherung der Indexdaten wie das Term Dictionary, die Posting Lists, gespeicherte Feldinhalte oder Payloads anzupassen (ohne den originären Quelltext zu patchen). Zwischen die bereits bekannten Komponenten IndexWriter/IndexReader und der Directory-Klasse (Low-Level-I/O-Komponente von Lucene) wurde der so genannte Codec Layer eingefügt (Abb. 1).

schindler_abb1.tif_fmt1.jpgAbb. 1: Übersicht über die Einordnung des neuen „Codec Layer“ in Lucene 4.0

Während der Index aufgebaut wird, erhält das Codec alle Terme, die Positionen und Dokumentennummern. Es hat dann die Aufgabe, diese Informationen unter Benutzung der Directory-Klasse auf das Speichermedium zu schreiben. Damit sind alle Möglichkeiten offen, das Dateiformat beliebig anzupassen. Gemeinsam ist allen Datendateien nur der Header, der eine Datei eindeutig als zu Lucene gehörig markiert, und der Name der Codec-Komponente, die für diese Datei zuständig ist. Wie allerdings zum Beispiel das Term Dictionary dann schließlich intern strukturiert und auf der Platte materialisiert wird, ist komplett dem Codec überlassen.

Welches Codec zum Indexieren benutzt wird, kann dem IndexWriter in seiner Konfiguration mitgegeben werden. Dokumente bestehen in Lucene aus mehreren Feldern mit eindeutigen Namen, z. B. title, content, keywords, sodass neben dem allgemeinen Indexformat auch für jedes Feld ein anderes „PostingsFormat“ angegeben werden kann, was schließlich dafür zuständig ist, das Term Dictionary und die Dokumentenliste für jeden Term abzuspeichern. Neben dem Stand...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang