Ich weiß, dass Lucene und Solr zwei verschiedene Apache-Projekte sind, die zusammenarbeiten sollen, aber ich verstehe nicht, was das Ziel jedes Projekts ist.
Bisher habe ich verstanden, dass Lucene zum Erstellen eines Suchindex verwendet wird und Solr diesen Index zum Durchführen von Suchvorgängen verwendet. Habe ich recht oder ist das ein ganz anderer Ansatz?
Antworten:
@darkheir: Lucene und Solr sind zwei verschiedene Apache-Projekte, die zusammenarbeiten sollen. Ich verstehe nicht, was das Ziel jedes Projekts ist.
1) Solr benutzt Lucene unter der Haube. Lucene hat keine Ahnung von der Solr-API.
2) Lucene ist ein leistungsstarkes Suchmaschinen-Framework, mit dem wir unserer Anwendung Suchfunktionen hinzufügen können. Es stellt eine benutzerfreundliche API zur Verfügung, während alle suchbezogenen komplexen Vorgänge ausgeblendet werden. Jede Anwendung kann diese Bibliothek verwenden, nicht nur Solr.
3) Solr ist um Lucene herum gebaut. Es ist nicht nur ein http-Wrapper um Lucene, sondern es ist bekannt, dass es Lucene mehr Arsenal hinzufügt . Solr ist sofort einsatzbereit. Es ist eine Webanwendung, die neben dem, was Lucene bietet, eine verwandte Infrastruktur und viele weitere Funktionen bietet.
@darkheir: Lucene wird verwendet, um einen Suchindex zu erstellen, und Solr verwendet diesen Index, um Suchen durchzuführen. Habe ich recht oder ist das ein ganz anderer Ansatz?
4) Lucene erstellt nicht nur den Index für den Verbrauch von Solr . Lucene kümmert sich um alle Suchvorgänge. Jede Anwendung kann das Lucene-Framework verwenden.
Beispiele sind Solr, Elastic Search, LinkedIn (ja, unter der Haube) usw.
Schauen Sie sich diesen Artikel an: Lucene vs Solr
UPDATE (18.06.14)
Wann sollte Lucene verwendet werden?
Wann Solr verwenden?
HINWEIS : Ich meine nicht, dass Solr schwer anzupassen ist. Solr ist sehr flexibel und bietet viele steckbare API-Punkte, mit denen Sie Ihren Code einwerfen können.
Es gibt Leute, die unter das Lager " müssen Lucene benutzen " fallen, aber immer noch Solr gegenüber Lucene bevorzugen, da es einfach zu benutzen ist. Sie beschränken sich jedoch nie darauf, Solr maximal anzupassen.
Übrigens sehe ich, dass Solr (4.x) mehr Ressourcen enthält als Lucene (4.x).
quelle
Lucene ist eine Java-Bibliothek auf niedriger Ebene (mit Ports zu .NET usw.), die die Indizierung, Analyse, Suche usw. implementiert.
Solr ist ein eigenständiges vorkonfiguriertes Produkt / Webapp, das Lucene verwendet. Wenn Sie lieber mit der HTTP-API als mit der Java-API arbeiten, ist Solr genau das Richtige für Sie. Solr hat auch einige zusätzliche Funktionen (z . B. Gruppierung ).
quelle
Quelle: Lucene-vs-solr - Lucene Tutorial
quelle
Solr basiert auf Lucene und bietet eine Suchplattform.
Suchplattform in den folgenden Ebenen von unten nach oben:
Referenzartikel: Unternehmenssuche
quelle
SOLR ist ein Wrapper über den Lucene-Index.
Es ist einfach zu verstehen: SOLR ist Auto und Lucene ist sein Motor . Sie müssen nur wissen, wie man ein Auto fährt (SOLR), und Sie müssen auch einige Dinge über den Motor (Lucene) wissen, falls es Probleme mit Ihrem Automotor gibt.
Gute Fahrt :)
quelle
Sie können es sich folgendermaßen vorstellen: Apache Lucene ist die Bibliothek, die intern von Apache Solr verwendet wird. Es ist in Java geschrieben und bietet erstaunliche Funktionen für die Volltextsuche und -indizierung. Es kann eine große Anzahl von Sprachen aus der ganzen Welt analysieren und den Text in solchen Sprachen für eine effiziente und schnelle Suche und Analyse vorbereiten. Lucene ist eine Bibliothek - Sie können sie direkt in Ihrer Anwendung verwenden und alles selbst implementieren, aber der Apache Solr bietet eine Menge sofort einsatzbereit.
Die Apache Solr-Suchmaschine bietet beispielsweise HTTP-APIs, mit denen Sie Daten an diese senden und später nach diesen Daten suchen können. Sie können die Suchmaschinen mithilfe der API steuern, verteilte Umgebungen erstellen und die Daten automatisch auf mehrere Knoten und viele weitere verteilen.
quelle
Einen guten Vergleich über den Zweck von Lucence und Solar finden Sie hier:
http://www.lucenetutorial.com/lucene-vs-solr.html
TLDR: Lucence ist nur der Motor, Solar ist das Auto, das Sie fahren können (ausgestattet mit Rest-API usw.)
quelle