Apache Lucene
Apache Lucene
| |
---|---|
Basisdaten
| |
Entwickler | Apache Software Foundation |
Erscheinungsjahr | 30. März 2000 |
AktuelleVersion | 9.11.1[1] (27. Juni 2024) |
Betriebssystem | Plattformunabhängig |
Programmiersprache | Java |
Kategorie | Programmbibliothek |
Lizenz | Apache-Lizenz, Version 2.0[2] |
deutschsprachig | nein |
lucene.apache.org/core/ |
Apache Luceneist eineProgrammbibliothekzurVolltextsuche.Lucene istfreie Softwareund ein Projekt derApache Software Foundation.
Lucene wird (erst direkt, seit 2014 viaElasticsearch) von derWikipediaverwendet. Ein Beispiel für die Leistungsfähigkeit undSkalierbarkeitvon Lucene liefert insbesondereTwitter.[3]
Geschichte
[Bearbeiten|Quelltext bearbeiten]Lucene wurde von Doug Cutting[4]entwickelt und war seit 1997 zunächst überSourceForgeerhältlich.[5]Der Name Lucene ist der zweite Vorname von Doug Cuttings Ehefrau.[6]
2001 wurde Lucene ein Teil desJakarta-Projektsund 2005 ein Hauptprojekt der Apache Software Foundation. Aus dem Projekt Apache Lucene gehen gelegentlich separat weitergeführte Projekte hervor.
Im Juni 2021 wurde die Funktionalität derIndri(software)SearchEngine Lucene hinzugefügt, was das Ende des ursprünglichen Projekts bedeutet und den NachfolgerLucindrihervorgebracht hat.[7][8][9][10][11]
Auf Lucene basierende Projekte
[Bearbeiten|Quelltext bearbeiten]- Lucene Core
- Der Kern des Projekts Lucene,Lucene Coreoder kurzLucene,früher auchLucene Javagenannt, ist eine Programmbibliothek, die in der ProgrammierspracheJavaverfasst ist. Lucene erstellt einerseits einenIndexaus Dateien, der etwa ein Viertel des Volumens der indexierten Dateien hat.[12]Zum anderen liefert Lucene anschließend Suchergebnisse mit Rangliste, wofür mehrereSuchalgorithmenzur Verfügung stehen.
- Lucene.Net
- Lucene.Net ist eine Übersetzung von Lucene in die ProgrammierspracheC#mit Anpassung derProgrammierschnittstellean das.Net-Framework.
- Lucy
- Lucy ist einePortierungvon Lucene in die ProgrammierspracheCfürSprachanbindungendynamischer ProgrammiersprachenwiePerl.
- PyLucene
- PyLucene ist eine Erweiterung vonPythonum einenWrappermitJava-Laufzeitumgebungfür Lucene.[13]
- Droids
- Droids ist einFrameworkfürBots/Webcrawler.Das Droids Projekt wurde zum 1. November 2015 eingestellt.[14]
- Solr
- Solr ist eine auf Lucene beruhende eigenständige Implementierung eines Suchservers.[15]Solr wurde ursprünglich vonCNETentwickelt und Solar genannt.[16]Der Name war eineAbkürzungfürSearch on Lucene andResin.[17]Der Download von Solr umfasst als Beispiel eine Konfiguration mitJetty.Solr enthält eine REST-ähnliche API.[18]Solr kommuniziert über dasHypertext Transfer Protocol.Mittels HTTP POST können verschiedenste Dateiformate vonXMLüberJSONbisPDFerfasst und auch Dokumente erstellt werden.[19]Abfragen erfolgen mittels HTTP GET.
- Tika
- Tika gehörte früher zum Projekt Lucene, wird von Solr genutzt und ist einParser.Er extrahiertMetadatenoderstrukturierten Textaus einer Reihe von Dokumentformaten mittels spezialisierter (möglichst ohnehin existierender) Bibliotheken wie Apache PDFBox oderApache POI,die einheitlich über Tika angesprochen werden und automatisch ausgewählt werden können.
Außerhalb des Projekts wurden weitere Derivate von Lucene erstellt.[20]
Funktionsweise
[Bearbeiten|Quelltext bearbeiten]Lucene verwendet dasTf-idf-MaßundVektorraum-Retrievalzur Bewertung von Suchtreffern.[21]
Literatur
[Bearbeiten|Quelltext bearbeiten]- 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.
Weblinks
[Bearbeiten|Quelltext bearbeiten]- lucenetutorial– englischsprachige Einführung
- Christian Meder, Andrew Kenworthy:Apache Solr und ElasticSearch: Auf der Suche nach dem heiligen Gral.(vom 8. März 2016 imInternet Archive) In:jaxenter.de,6. August 2012
Einzelnachweise
[Bearbeiten|Quelltext bearbeiten]- ↑Release 9.11.1.27. Juni 2024 (abgerufen am 21. Juli 2024).
- ↑github.
- ↑Twitter Engineering: Twitter Search is Now 3x Faster.Twitter, 6. April 2011,abgerufen am 5. September 2015.
- ↑Die englischsprachige Wikipedia hat einen Artikel überDoug Cutting
- ↑Ten years of the Lucene search engine at Apache.Heise, 27. September 2011,abgerufen am 6. Januar 2012.
- ↑LuceneFAQ.Apache Software Foundation,abgerufen am 6. Januar 2012.
- ↑Lemur Project Components: Indri.Abgerufen am 12. Juli 2021.
- ↑Lucene Change Log.Abgerufen am 12. Juli 2021.
- ↑Add Indri Search Engine Functionality to Lucene.Abgerufen am 12. Juli 2021.
- ↑Lemur Project Components: Lucindri.Abgerufen am 12. Juli 2021.
- ↑GitHub - lemurproject/Lucindri: Indri search implementation on top of Lucene search engine.Abgerufen am 12. Juli 2021.
- ↑Apache Lucene – Features.Apache Software Foundation,abgerufen am 6. Januar 2012.
- ↑Welcome to PyLucene.Apache Software Foundation,abgerufen am 6. Januar 2012.
- ↑Apache Droids Incubation Status - Apache Incubator.In:incubator.apache.org.Abgerufen am 16. Dezember 2016.
- ↑Apache Solr -.Abgerufen am 10. Oktober 2019.
- ↑FAQ – Solr Wiki.Apache Software Foundation,abgerufen am 6. Januar 2012.
- ↑Interview with Ian Holsman of Relegence (AOL).Lucidworks,abgerufen am 31. August 2015.
- ↑Apache Solr - Features.Abgerufen am 10. Oktober 2019.
- ↑Solr tutorial.Apache Software Foundation,abgerufen am 6. Januar 2012.
- ↑LuceneImplementations.Apache Software Foundation,abgerufen am 6. Januar 2012.
- ↑Lucene’s Practical Scoring Function.Elasticsearch: The Definitive Guide [2.x]. Elastic,abgerufen am 1. Januar 2020(amerikanisches Englisch).