Die richtige Wahl für den Einsatz einer der beiden Suchmaschinen hängt von einer Reihe anwendungsspezifischen Faktoren ab. In diesem Beitrag beleuchten wir nicht-technische Hintergrundinformationen zu diesen beiden führenden Open-Source-Suchmaschinen. Technische Faktoren zur Auswahl der passenden Suchmaschine hängen von den Einsatzszenarien und der Infrastruktur ab und sind gleichwertig in Betrachtung zu ziehen.

Beide Suchmaschinen bauen auf Lucene auf. Apache Lucene  ist eine High-Performance-, full-featured Textsuchmaschinen Bibliothek die komplett in Java geschrieben ist.

Solr ist eine Open Source Enterprise Search Plattform auf Basis von Lucene die seit 2006 von der Apache Community mit mehr als 100 Entwicklern unterstützt wird. Solr benutzt ein Schemaorientierten Ansatz. 

ElasticSearch ist eine vergleichsweise neue Entwicklung, das Projekt wurde 2010 gestartet und ist nicht unter  Apache Software Foundation veröffentlicht wurden. Das Projekt ist aber immerhin auf Github veröffentlicht und benutzt genau wie Solr die Apache 2.0 Lizenz. Zusätzlich gibt es ein kommerziellen Support. Elasticsearch ist eine verteilte, hochperformante Open-Source Suchmaschine, benutzt den Zero-Configuration Ansatz und arbeitet wie sogenannte NoSQL Datenbanken mit einem Dokumentenorientierten Index.  Beim Start führt ElastcSearch einen Discovery-Prozess aus und sucht mit Uni- oder Multicast nach anderen Punkten im gleichen Netzwerk. Die Aufteilung der Indexe übernimmt dann ElasticSearch selbst. Das bedeutet man sollte zumindest den Namen der Anwendung konfigurieren damit nicht ungewollt andere Server im selben Sub-Netz mit benutzt werden.

Solr:  Allein durch seine Reife und den weltweiten Einsatz und die aktive Entwickler-Community ist Solr ein gute Wahl.  

Solr bietet eine sehr detaillierte funktionale Umgebung, eine breite Palette von Plug-Ins und eine hohe Integrationsfähigkeit in andere Systeme.
Es gibt sehr viele Softwareentwickler mit Erfahrung im Umgang mit Solr.
Die neueste Version, Solr 4 wurde für Cloud Computing entwickelt.

ElasticSearch: Neuer, aber bereits weit verbreitet.
Der Fokus bei ElasticSearch liegt auf der Gewinnung von Werten aus Daten und nicht nur auf reine Suchergebnisse.  Ein Beispiel ist Verarbeitung und Analyse von Echtzeitdaten wie z.B. Logdaten (Big Data).
ElasticSearch lässt sich gut in verteilten System und in Cloud Lösungen einsetzen und ist sehr einfach zu installieren.

Fazit: Ob Solr oder ElasticSearch, der Einsatz der zwei leistungsfähigen Produkte hängt von der Infrastruktur und der zu integrierenden Anwendung ab. Falls ihr Fragen habt meldet euch bei uns, wir können euch dann Unterstützung anbieten!

Den aktuellen Trents kann man hier beobachten: http://www.google.com/trends/explore#q=solr,%20elasticsearch

 

 

 

 

Comment