Apache Lucene

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. April 2016 um 23:46 Uhr durch Smuggli (Diskussion | Beiträge) (Update Version). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Apache Lucene

Lucene logo
Basisdaten

Entwickler Apache Software Foundation
Erscheinungsjahr 30. März 2000
Aktuelle Version 6.0.0
(8. April 2016[1])
Betriebssystem plattformunabhängig
Programmiersprache Java
Kategorie Programmbibliothek
Lizenz Apache-Lizenz
deutschsprachig nein
lucene.apache.org

Apache Lucene ist eine Programmbibliothek zur Volltextsuche und ein Projekt der Apache Software Foundation. Lucene ist freie Software.

Lucene wird (erst direkt, seit 2014 via Elasticsearch) von der Wikipedia verwendet.[2] Ein Beispiel für die Leistungsfähigkeit und Skalierbarkeit von Lucene liefert insbesondere Twitter.[3]

Geschichte

Lucene wurde von Doug Cutting entwickelt und war seit 1997 zunächst über SourceForge erhältlich.[4] Der Name Lucene ist der zweite Vorname von Doug Cuttings Ehefrau.[5]

2001 wurde Lucene ein Teil des Jakarta-Projekts und 2005 ein Hauptprojekt der Apache Software Foundation. Aus dem Projekt Apache Lucene gehen gelegentlich separat weitergeführte Projekte hervor.

Projekt

Lucene Core

Der Kern des Projekts Lucene, Lucene Core oder kurz Lucene, früher auch Lucene Java genannt, ist eine Programmbibliothek, die in der Programmiersprache Java verfasst ist.
Lucene erstellt einerseits einen Index aus Dateien, der etwa ein Viertel des Volumens der indexierten Dateien hat.[6] Zum Anderen liefert Lucene anschließend Suchergebnisse mit Rangliste, wofür mehrere Suchalgorithmen zur Verfügung stehen.

Lucene.Net

Lucene.Net ist eine Übersetzung von Lucene in die Programmiersprache C# mit Anpassung der Programmierschnittstelle an die .NET-Plattform.

Lucy

Lucy ist eine Portierung von Lucene in die Programmiersprache C für Sprachanbindungen dynamischer Programmiersprachen wie Perl.

PyLucene

PyLucene ist eine Erweiterung von Python um einen Wrapper mit Java-Laufzeitumgebung für Lucene.[7]

Droids

Droids ist ein Framework für Bots/Crawler.

Solr

Solr ist ein in Lucene enthaltenes Servlet für entsprechende Container wie Apache Tomcat. Solr wurde ursprünglich von CNET entwickelt und Solar genannt.[8] Der Name war eine Abkürzung für Search on Lucene and Resin.[9] Der Download von Solr umfasst als Beispiel eine Konfiguration mit Jetty.
Solr kommuniziert über das Hypertext Transfer Protocol. Mittels HTTP POST können verschiedenste Dateiformate von XML über JSON bis PDF erfasst und auch Dokumente erstellt werden.[10] Abfragen erfolgen mittels HTTP GET.
Solr ist die populärste Enterprise-Suchmaschine.[11]

Tika

Tika gehörte früher zum Projekt Lucene, wird von Solr genutzt und ist ein Parser. Er extrahiert Metadaten oder strukturierten Text aus einer Reihe von Dokumentformaten mittels spezialisierter (möglichst ohnehin existierender) Bibliotheken wie Apache PDFBox oder Apache POI, die einheitlich über Tika angesprochen werden und automatisch ausgewählt werden können.

Nutch

Nutch gehörte früher zum Projekt Lucene und basiert auf Solr.

Außerhalb des Projekts wurden weitere Derivate von Lucene erstellt.[12]

Funktionsweise

Lucene verwendet das Tf-idf-Maß und Vektorraum-Retrieval zur Bewertung von Suchtreffern.[13]

Quellen

  1. 8 April 2016 - Apache Lucene 6.0.0 Available
  2. Wikimedia Foundation: Hilfe:Suche/Cirrus. Abgerufen am 16. November 2014
  3. Twitter Engineering: Twitter Search is Now 3x Faster. Twitter, 6. April 2011, abgerufen am 5. September 2015.
  4. Ten years of the Lucene search engine at Apache. Heise, 27. September 2011, abgerufen am 6. Januar 2012.
  5. LuceneFAQ. Apache Software Foundation, abgerufen am 6. Januar 2012.
  6. Apache Lucene – Features. Apache Software Foundation, abgerufen am 6. Januar 2012.
  7. Welcome to PyLucene. Apache Software Foundation, abgerufen am 6. Januar 2012.
  8. FAQ – Solr Wiki. Apache Software Foundation, abgerufen am 6. Januar 2012.
  9. Interview with Ian Holsman of Relegence (AOL). Lucidworks, abgerufen am 31. August 2015.
  10. Solr tutorial. Apache Software Foundation, abgerufen am 6. Januar 2012.
  11. DB-Engines Ranking von Suchmaschinen. Abgerufen am 4. März 2013.
  12. LuceneImplementations. Apache Software Foundation, abgerufen am 6. Januar 2012.
  13. Lucene’s Practical Scoring Function

Literatur

  • Manfred Hardt, Fabian Theis: Suchmaschinen entwickeln mit Apache Lucene, Entwickler.Press, 2004.
  • Erik Hatcher et al.: Lucene in Action, Manning, 2005 (über Lucene 1.4), 2nd ed. 2010 (über Lucene 3.0).
  • Florian Hopf: Flexible Suche mit Lucene in Java aktuell, Ausgabe 4-2013, S. 31ff

Weblinks