Apache Lucene

Apache Lucene i​st eine Programmbibliothek z​ur Volltextsuche. Lucene i​st freie Software u​nd ein Projekt d​er Apache Software Foundation.

Apache Lucene
Basisdaten
Entwickler Apache Software Foundation
Aktuelle Version 9.0.0[1]
(7. Dezember 2021)
Betriebssystem Plattformunabhängig
Programmiersprache Java
Kategorie Programmbibliothek
Lizenz Apache-Lizenz
deutschsprachig nein
lucene.apache.org

Lucene w​ird (erst direkt, s​eit 2014 v​ia Elasticsearch) v​on der Wikipedia verwendet. Ein Beispiel für d​ie Leistungsfähigkeit u​nd Skalierbarkeit v​on Lucene liefert insbesondere Twitter.[2]

Geschichte

Lucene w​urde von Doug Cutting entwickelt u​nd war s​eit 1997 zunächst über SourceForge erhältlich.[3] Der Name Lucene i​st der zweite Vorname v​on Doug Cuttings Ehefrau.[4]

2001 w​urde Lucene e​in Teil d​es Jakarta-Projekts u​nd 2005 e​in Hauptprojekt d​er Apache Software Foundation. Aus d​em Projekt Apache Lucene g​ehen gelegentlich separat weitergeführte Projekte hervor.

Im Juni 2021 w​urde die Funktionalität d​er Indri(software) SearchEngine Lucene hinzugefügt, w​as das Ende d​es ursprünglichen Projekts bedeutet u​nd den Nachfolger Lucindri hervorgebracht hat.[5][6][7][8][9]

Auf Lucene basierende Projekte

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.[10] 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.[11]

Droids

Droids ist ein Framework für Bots/Crawler. Das Droids Projekt wurde zum 1. November 2015 eingestellt.[12]

Solr

Solr ist eine auf Lucene beruhende eigenständige Implementierung eines Suchservers.[13] Solr wurde ursprünglich von CNET entwickelt und Solar genannt.[14] Der Name war eine Abkürzung für Search on Lucene and Resin.[15] Der Download von Solr umfasst als Beispiel eine Konfiguration mit Jetty. Solr enthält eine REST-ähnliche API.[16] 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.[17] Abfragen erfolgen mittels HTTP GET.

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 d​es Projekts wurden weitere Derivate v​on Lucene erstellt.[18]

Funktionsweise

Lucene verwendet d​as Tf-idf-Maß u​nd Vektorraum-Retrieval z​ur Bewertung v​on Suchtreffern.[19]

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. 31 ff.

Einzelnachweise

  1. lucene.apache.org. (abgerufen am 28. Dezember 2021).
  2. Twitter Engineering: Twitter Search is Now 3x Faster. Twitter. 6. April 2011. Abgerufen am 5. September 2015.
  3. Ten years of the Lucene search engine at Apache. Heise. 27. September 2011. Abgerufen am 6. Januar 2012.
  4. LuceneFAQ. Apache Software Foundation. Abgerufen am 6. Januar 2012.
  5. Lemur Project Components: Indri. Abgerufen am 12. Juli 2021.
  6. Lucene Change Log. Abgerufen am 12. Juli 2021.
  7. Add Indri Search Engine Functionality to Lucene. Abgerufen am 12. Juli 2021.
  8. Lemur Project Components: Lucindri. Abgerufen am 12. Juli 2021.
  9. GitHub - lemurproject/Lucindri: Indri search implementation on top of Lucene search engine. Abgerufen am 12. Juli 2021.
  10. Apache Lucene – Features. Apache Software Foundation. Abgerufen am 6. Januar 2012.
  11. Welcome to PyLucene. Apache Software Foundation. Abgerufen am 6. Januar 2012.
  12. Apache Droids Incubation Status - Apache Incubator. In: incubator.apache.org. Abgerufen am 16. Dezember 2016.
  13. Apache Solr -. Abgerufen am 10. Oktober 2019.
  14. FAQ – Solr Wiki. Apache Software Foundation. Abgerufen am 6. Januar 2012.
  15. Interview with Ian Holsman of Relegence (AOL). Lucidworks. Abgerufen am 31. August 2015.
  16. Apache Solr - Features. Abgerufen am 10. Oktober 2019.
  17. Solr tutorial. Apache Software Foundation. Abgerufen am 6. Januar 2012.
  18. LuceneImplementations. Apache Software Foundation. Abgerufen am 6. Januar 2012.
  19. Lucene’s Practical Scoring Function. Elasticsearch: The Definitive Guide [2.x]. Elastic, abgerufen am 1. Januar 2020 (amerikanisches Englisch).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.