Zum Inhalt springen

„Apache Lucene“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
InternetArchiveBot hat 0 Archivlink(s) ergänzt und 1 Link(s) als defekt/tot markiert.) #IABot (v2.0.9.5
Keine Bearbeitungszusammenfassung
Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung Erweiterte mobile Bearbeitung
 
Zeile 18: Zeile 18:
'''Apache Lucene''' ist eine [[Programmbibliothek]] zur [[Volltextsuche]]. Lucene ist [[freie Software]] und ein Projekt der [[Apache Software Foundation]].
'''Apache Lucene''' ist eine [[Programmbibliothek]] zur [[Volltextsuche]]. Lucene ist [[freie Software]] und ein Projekt der [[Apache Software Foundation]].


Lucene wird (erst direkt, seit 2014 via [[Elasticsearch]]) von der [[Wikipedia]] verwendet. Ein Beispiel für die Leistungsfähigkeit und [[Skalierbarkeit]] von Lucene liefert insbesondere [[Twitter]].<ref>{{cite web |url=https://blog.twitter.com/2011/twitter-search-now-3x-faster |title=Twitter Engineering: Twitter Search is Now 3x Faster |publisher=Twitter |date=2011-04-06 |accessdate=2015-09-05}}</ref>
Lucene wird (erst direkt, seit 2014 via [[Elasticsearch]]) von der [[Wikipedia]] verwendet. Ein Beispiel für die Leistungsfähigkeit und [[Skalierbarkeit]] von Lucene liefert insbesondere [[Twitter]].<ref>{{cite web |url=https://blog.twitter.com/2011/twitter-search-now-3x-faster |title=Twitter Engineering: Twitter Search is Now 3x Faster |publisher=Twitter |date=2011-04-06 |accessdate=2015-09-05|language=en}}</ref>


== Geschichte ==
== Geschichte ==
Lucene wurde von Doug Cutting<ref>Die englischsprachige Wikipedia hat einen Artikel über [[:en:Doug_Cutting|Doug Cutting]]</ref> entwickelt und war seit 1997 zunächst über [[SourceForge]] erhältlich.<ref>{{cite web |url=http://www.h-online.com/open/news/item/Ten-years-of-the-Lucene-search-engine-at-Apache-1350761.html |title=Ten years of the Lucene search engine at Apache |publisher=Heise |date=2011-09-27 |accessdate=2012-01-06}}</ref> Der Name Lucene ist der zweite Vorname von Doug Cuttings Ehefrau.<ref>{{cite web |url=https://cwiki.apache.org/confluence/display/lucene/LuceneFAQ |title=LuceneFAQ |publisher=Apache Software Foundation |accessdate=2012-01-06}}</ref>
Lucene wurde von Doug Cutting<ref>Die englischsprachige Wikipedia hat einen Artikel über [[:en:Doug_Cutting|Doug Cutting]]</ref> entwickelt und war seit 1997 zunächst über [[SourceForge]] erhältlich.<ref>{{cite web |url=http://www.h-online.com/open/news/item/Ten-years-of-the-Lucene-search-engine-at-Apache-1350761.html |title=Ten years of the Lucene search engine at Apache |publisher=Heise |date=2011-09-27 |accessdate=2012-01-06|language=en}}</ref> Der Name Lucene ist der zweite Vorname von Doug Cuttings Ehefrau.<ref>{{cite web |url=https://cwiki.apache.org/confluence/display/lucene/LuceneFAQ |title=LuceneFAQ |publisher=Apache Software Foundation |accessdate=2012-01-06|language=en}}</ref>


2001 wurde Lucene ein Teil des [[Jakarta-Projekt]]s und 2005 ein Hauptprojekt der Apache Software Foundation. Aus dem Projekt Apache Lucene gehen gelegentlich separat weitergeführte Projekte hervor.
2001 wurde Lucene ein Teil des [[Jakarta-Projekt]]s und 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 der [[Indri(software)]] SearchEngine Lucene hinzugefügt, was das Ende des ursprünglichen Projekts bedeutet und den Nachfolger [[Indri(software)|Lucindri]] hervorgebracht hat.<ref>{{cite web|url=http://www.lemurproject.org/indri.php|title=Lemur Project Components: Indri|access-date=2021-07-12}}</ref><ref>{{cite web|url=https://lucene.apache.org/core/8_9_0/changes/Changes.html|title=Lucene Change Log|access-date=2021-07-12}}</ref><ref>{{cite web|url=https://issues.apache.org/jira/browse/LUCENE-9537|title=Add Indri Search Engine Functionality to Lucene|access-date=2021-07-12}}</ref><ref>{{cite web|url=http://www.lemurproject.org/lucindri.php|title=Lemur Project Components: Lucindri|access-date=2021-07-12}}</ref><ref>{{cite web|url=https://github.com/lemurproject/Lucindri|title=GitHub - lemurproject/Lucindri: Indri search implementation on top of Lucene search engine|access-date=2021-07-12}}</ref>
Im Juni 2021 wurde die Funktionalität der [[Indri(software)]] SearchEngine Lucene hinzugefügt, was das Ende des ursprünglichen Projekts bedeutet und den Nachfolger [[Indri(software)|Lucindri]] hervorgebracht hat.<ref>{{cite web|url=http://www.lemurproject.org/indri.php|title=Lemur Project Components: Indri|access-date=2021-07-12|language=en}}</ref><ref>{{cite web|url=https://lucene.apache.org/core/8_9_0/changes/Changes.html|title=Lucene Change Log|access-date=2021-07-12|language=en}}</ref><ref>{{cite web|url=https://issues.apache.org/jira/browse/LUCENE-9537|title=Add Indri Search Engine Functionality to Lucene|access-date=2021-07-12|language=en}}</ref><ref>{{cite web|url=http://www.lemurproject.org/lucindri.php|title=Lemur Project Components: Lucindri|access-date=2021-07-12|language=en}}</ref><ref>{{cite web|url=https://github.com/lemurproject/Lucindri|title=GitHub - lemurproject/Lucindri: Indri search implementation on top of Lucene search engine|access-date=2021-07-12|language=en}}</ref>


== {{Anker|Projekt}} Auf Lucene basierende Projekte ==
== {{Anker|Projekt}} Auf Lucene basierende Projekte ==
;Lucene Core: Der Kern des Projekts Lucene, ''Lucene&nbsp;Core'' oder kurz ''Lucene'', früher auch ''Lucene&nbsp;Java'' genannt, ist eine Programmbibliothek, die in der Programmiersprache [[Java (Programmiersprache)|Java]] verfasst ist. Lucene erstellt einerseits einen [[Indexstruktur|Index]] aus Dateien, der etwa ein Viertel des Volumens der indexierten Dateien hat.<ref>{{cite web |url=https://lucene.apache.org/core/features.html |title=Apache Lucene – Features |publisher=Apache Software Foundation |accessdate=2012-01-06}}</ref> Zum anderen liefert Lucene anschließend Suchergebnisse mit Rangliste, wofür mehrere [[Suchalgorithmus|Suchalgorithmen]] zur Verfügung stehen.
;Lucene Core: Der Kern des Projekts Lucene, ''Lucene&nbsp;Core'' oder kurz ''Lucene'', früher auch ''Lucene&nbsp;Java'' genannt, ist eine Programmbibliothek, die in der Programmiersprache [[Java (Programmiersprache)|Java]] verfasst ist. Lucene erstellt einerseits einen [[Indexstruktur|Index]] aus Dateien, der etwa ein Viertel des Volumens der indexierten Dateien hat.<ref>{{cite web |url=https://lucene.apache.org/core/features.html |title=Apache Lucene – Features |publisher=Apache Software Foundation |accessdate=2012-01-06|language=en}}</ref> Zum anderen liefert Lucene anschließend Suchergebnisse mit Rangliste, wofür mehrere [[Suchalgorithmus|Suchalgorithmen]] zur Verfügung stehen.


;Lucene.Net: Lucene.Net ist eine Übersetzung von Lucene in die Programmiersprache [[C-Sharp|C#]] mit Anpassung der [[Programmierschnittstelle]] an das [[.Net-Framework]].
;Lucene.Net: Lucene.Net ist eine Übersetzung von Lucene in die Programmiersprache [[C-Sharp|C#]] mit Anpassung der [[Programmierschnittstelle]] an das [[.Net-Framework]].
Zeile 34: Zeile 34:
;Lucy: Lucy ist eine [[Portierung (Software)|Portierung]] von Lucene in die Programmiersprache [[C (Programmiersprache)|C]] für [[Sprachanbindung]]en [[Dynamische Programmiersprache|dynamischer Programmiersprachen]] wie [[Perl (Programmiersprache)|Perl]].
;Lucy: Lucy ist eine [[Portierung (Software)|Portierung]] von Lucene in die Programmiersprache [[C (Programmiersprache)|C]] für [[Sprachanbindung]]en [[Dynamische Programmiersprache|dynamischer Programmiersprachen]] wie [[Perl (Programmiersprache)|Perl]].


;PyLucene: PyLucene ist eine Erweiterung von [[Python (Programmiersprache)|Python]] um einen [[Wrapper (Software)|Wrapper]] mit [[Java-Laufzeitumgebung]] für Lucene.<ref>{{cite web |url=https://lucene.apache.org/pylucene/ |title=Welcome to PyLucene |publisher=Apache Software Foundation |accessdate=2012-01-06}}</ref>
;PyLucene: PyLucene ist eine Erweiterung von [[Python (Programmiersprache)|Python]] um einen [[Wrapper (Software)|Wrapper]] mit [[Java-Laufzeitumgebung]] für Lucene.<ref>{{cite web |url=https://lucene.apache.org/pylucene/ |title=Welcome to PyLucene |publisher=Apache Software Foundation |accessdate=2012-01-06|language=en}}</ref>


;Droids: Droids ist ein [[Framework]] für [[Bot]]s/[[Webcrawler]]. Das Droids Projekt wurde zum 1. November 2015 eingestellt.<ref>{{Internetquelle |url=https://incubator.apache.org/projects/droids.html |titel=Apache Droids Incubation Status - Apache Incubator |werk=incubator.apache.org |abruf=2016-12-16}}</ref>
;Droids: Droids ist ein [[Framework]] für [[Bot]]s/[[Webcrawler]]. Das Droids Projekt wurde zum 1. November 2015 eingestellt.<ref>{{Internetquelle |url=https://incubator.apache.org/projects/droids.html |titel=Apache Droids Incubation Status - Apache Incubator |werk=incubator.apache.org |abruf=2016-12-16}}</ref>


;{{Anker|Solr}}Solr: Solr ist eine auf Lucene beruhende eigenständige Implementierung eines Suchservers.<ref>{{Internetquelle |url=https://lucene.apache.org/solr/ |titel=Apache Solr - |abruf=2019-10-10}}</ref> Solr wurde ursprünglich von [[CNET]] entwickelt und Solar genannt.<ref>{{cite web |url=https://cwiki.apache.org/confluence/display/solr/FAQ |title=FAQ – Solr Wiki |publisher=Apache Software Foundation |accessdate=2012-01-06}}</ref> Der Name war eine [[Abkürzung]] für ''Search on Lucene and [[Resin (Java)|Resin]]''.<ref>{{cite web |url=http://lucidworks.com/blog/interview-with-ian-holsman-of-relegence-aol/ |title=Interview with Ian Holsman of Relegence (AOL) |publisher=Lucidworks |accessdate=2015-08-31 |offline=0 }}</ref> Der Download von Solr umfasst als Beispiel eine Konfiguration mit [[Jetty (Webserver)|Jetty]]. Solr enthält eine REST-ähnliche API.<ref>{{Internetquelle |url=https://lucene.apache.org/solr/features.html |titel=Apache Solr - Features |abruf=2019-10-10}}</ref> Solr kommuniziert über das [[Hypertext Transfer Protocol]]. Mittels HTTP POST können verschiedenste Dateiformate von [[Extensible Markup Language|XML]] über [[JavaScript Object Notation|JSON]] bis [[Portable Document Format|PDF]] erfasst und auch Dokumente erstellt werden.<ref>{{cite web |url=https://lucene.apache.org/solr/tutorial.html |title=Solr tutorial |publisher=Apache Software Foundation |accessdate=2012-01-06}}</ref> Abfragen erfolgen mittels HTTP GET.
;{{Anker|Solr}}Solr: Solr ist eine auf Lucene beruhende eigenständige Implementierung eines Suchservers.<ref>{{Internetquelle |url=https://lucene.apache.org/solr/ |titel=Apache Solr - |abruf=2019-10-10}}</ref> Solr wurde ursprünglich von [[CNET]] entwickelt und Solar genannt.<ref>{{cite web |url=https://cwiki.apache.org/confluence/display/solr/FAQ |title=FAQ – Solr Wiki |publisher=Apache Software Foundation |accessdate=2012-01-06|language=en}}</ref> Der Name war eine [[Abkürzung]] für ''Search on Lucene and [[Resin (Java)|Resin]]''.<ref>{{cite web |url=http://lucidworks.com/blog/interview-with-ian-holsman-of-relegence-aol/ |title=Interview with Ian Holsman of Relegence (AOL) |publisher=Lucidworks |accessdate=2015-08-31 |offline=0 |language=en}}</ref> Der Download von Solr umfasst als Beispiel eine Konfiguration mit [[Jetty (Webserver)|Jetty]]. Solr enthält eine REST-ähnliche API.<ref>{{Internetquelle |url=https://lucene.apache.org/solr/features.html |titel=Apache Solr - Features |abruf=2019-10-10|sprache=en}}</ref> Solr kommuniziert über das [[Hypertext Transfer Protocol]]. Mittels HTTP POST können verschiedenste Dateiformate von [[Extensible Markup Language|XML]] über [[JavaScript Object Notation|JSON]] bis [[Portable Document Format|PDF]] erfasst und auch Dokumente erstellt werden.<ref>{{cite web |url=https://lucene.apache.org/solr/tutorial.html |title=Solr tutorial |publisher=Apache Software Foundation |accessdate=2012-01-06|language=en}}</ref> 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 [[Strukturierter Text|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.
;Tika: Tika gehörte früher zum Projekt Lucene, wird von Solr genutzt und ist ein [[Parser]]. Er extrahiert [[Metadaten]] oder [[Strukturierter Text|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.
Zeile 44: Zeile 44:
;Nutch: [[Nutch]] gehörte früher zum Projekt Lucene und basiert auf [[#Solr|Solr]].
;Nutch: [[Nutch]] gehörte früher zum Projekt Lucene und basiert auf [[#Solr|Solr]].


Außerhalb des Projekts wurden weitere Derivate von Lucene erstellt.<ref>{{cite web |url=https://cwiki.apache.org/confluence/display/lucene/LuceneImplementations |title=LuceneImplementations |publisher=Apache Software Foundation |accessdate=2012-01-06}}</ref>
Außerhalb des Projekts wurden weitere Derivate von Lucene erstellt.<ref>{{cite web |url=https://cwiki.apache.org/confluence/display/lucene/LuceneImplementations |title=LuceneImplementations |publisher=Apache Software Foundation |accessdate=2012-01-06|language=en}}</ref>


== Funktionsweise ==
== Funktionsweise ==

Aktuelle Version vom 30. Januar 2025, 23:11 Uhr

Apache Lucene

Basisdaten

Entwickler Apache Software Foundation
Erscheinungsjahr 30. März 2000
Aktuelle Version 10.2.0[1]
(10. April 2025)
Betriebssystem Plattformunabhängig
Programmier­sprache Java
Kategorie Programmbibliothek
Lizenz Apache-Lizenz, Version 2.0[2]
deutschsprachig nein
lucene.apache.org/core/

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

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

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

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.

Im Juni 2021 wurde die Funktionalität der Indri(software) SearchEngine Lucene hinzugefügt, was das Ende des ursprünglichen Projekts bedeutet und den Nachfolger Lucindri hervorgebracht hat.[7][8][9][10][11]

Auf Lucene basierende Projekte

[Bearbeiten | Quelltext bearbeiten]
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.[12] 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 das .Net-Framework.
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.[13]
Droids
Droids ist ein Framework für Bots/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 von CNET entwickelt und Solar genannt.[16] Der Name war eine Abkürzung für Search on Lucene and Resin.[17] Der Download von Solr umfasst als Beispiel eine Konfiguration mit Jetty. Solr enthält eine REST-ähnliche API.[18] 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.[19] 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 des Projekts wurden weitere Derivate von Lucene erstellt.[20]

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

  • 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

[Bearbeiten | Quelltext bearbeiten]
  1. Release 10.2.0. 10. April 2025 (abgerufen am 22. April 2025).
  2. github.com.
  3. Twitter Engineering: Twitter Search is Now 3x Faster. Twitter, 6. April 2011, abgerufen am 5. September 2015 (englisch).
  4. Die englischsprachige Wikipedia hat einen Artikel über Doug Cutting
  5. Ten years of the Lucene search engine at Apache. Heise, 27. September 2011, abgerufen am 6. Januar 2012 (englisch).
  6. LuceneFAQ. Apache Software Foundation, abgerufen am 6. Januar 2012 (englisch).
  7. Lemur Project Components: Indri. Abgerufen am 12. Juli 2021 (englisch).
  8. Lucene Change Log. Abgerufen am 12. Juli 2021 (englisch).
  9. Add Indri Search Engine Functionality to Lucene. Abgerufen am 12. Juli 2021 (englisch).
  10. Lemur Project Components: Lucindri. Abgerufen am 12. Juli 2021 (englisch).
  11. GitHub - lemurproject/Lucindri: Indri search implementation on top of Lucene search engine. Abgerufen am 12. Juli 2021 (englisch).
  12. Apache Lucene – Features. Apache Software Foundation, abgerufen am 6. Januar 2012 (englisch).
  13. Welcome to PyLucene. Apache Software Foundation, abgerufen am 6. Januar 2012 (englisch).
  14. Apache Droids Incubation Status - Apache Incubator. In: incubator.apache.org. Abgerufen am 16. Dezember 2016.
  15. Apache Solr -. Abgerufen am 10. Oktober 2019.
  16. FAQ – Solr Wiki. Apache Software Foundation, abgerufen am 6. Januar 2012 (englisch).
  17. Interview with Ian Holsman of Relegence (AOL). Lucidworks, abgerufen am 31. August 2015 (englisch).
  18. Apache Solr - Features. Abgerufen am 10. Oktober 2019 (englisch).
  19. Solr tutorial. Apache Software Foundation, abgerufen am 6. Januar 2012 (englisch).
  20. LuceneImplementations. Apache Software Foundation, abgerufen am 6. Januar 2012 (englisch).
  21. Lucene’s Practical Scoring Function. Elasticsearch: The Definitive Guide [2.x]. Elastic, abgerufen am 1. Januar 2020 (amerikanisches Englisch).