@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?
- Sie sind ein Suchingenieur UND
- Sie sind ein Programmierer UND
- Sie möchten die volle Kontrolle über fast alle Interna von Lucene AND
- Ihre Anforderungen erfordern, dass Sie alle möglichen geekigen Anpassungen an Lucene AND vornehmen
- Sie sind bereit, sich um Infrastrukturelemente Ihrer Suche wie Skalierung, Verteilung usw. zu kümmern.
Wann Solr verwenden?
- Mindestens eine der oben genannten Aussagen ergab keinen Sinn. ODER
- Sie möchten etwas, das sofort einsatzbereit ist (auch ohne Java-Kenntnisse) ODER
- Ihre Infrastrukturanforderungen überwiegen die Anforderungen an die Anpassung der Suche.
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).