5 gute Gründe, warum Sie Solr nutzen sollten

Ursprünglich von CNET unter dem Namen Solar entwickelt, zählt Solr heute gemeinsam mit ElasticSearch zu den am weitesten verbreiteten Suchplattformen. Doch welche Argumente sprechen für den Einsatz von Solr?

Open Source sind beide Systeme

Sowohl Elasticsearch wie auch Solr sind Open Source-Projekte. Allerdings trennen sich bereits hier die Wege der beiden Lösungen zugunsten von Solr. Obwohl bei Solr die Apache Software Foundation als offizieller Entwickler gilt, übernimmt eine große Community im Background die Entwickler-Funktion. Die Vorteile einer großen Community beginnen bei der kontinuierlichen Kontrolle einzelner Code-Zeilen innerhalb des Solr-Projekts und reichen bis zur Einbringung des Know-hows vieler Projektteilnehmer. Daraus resultiert eine stringentere Programmierung mit positiven Begleiterscheinungen wie die verbesserte Stabilität und Sicherheit.



Im Vergleich dazu ist die Community rund um Elasticsearch verhältnismäßig klein. Erforderliche Änderungen führen ausschließlich Mitarbeiter des Unternehmens durch. Daraus ergibt sich die oft unerwünschte Abhängigkeit der Anwender von einem Unternehmen. Denn entwickeln Sie eine Funktion, die Sie vermissen und die Community findet sie gut, wird sie in Solr eingebunden. Ob für ElasticSearch vorgeschlagene Zusatzfeatures tatsächlich realisiert werden, entscheidet das Unternehmen. Das Ergebnis: Solr deckt durch seine Vorgehensweise individuelle Bedürfnisse besser ab.

Ein weiterer Punkt für Solr ist die umfangreiche und frei zugängliche Dokumentation für Lucene- und Solr-Entwickler. Hier besteht beim Mitbewerber-System Elasticsearch definitiv noch Nachholbedarf.

Stabilität gepaart mit hoher Performance und Skalierbarkeit

Objektiv betrachtet überzeugen Solr und das Vergleichs-System Elasticsearch durch eine hervorragende Performance und hohe Stabilität. Beide Systeme sind schnell, stabil und vermitteln einen ausgereiften Eindruck. 

Beim Thema Skalierbarkeit war bisher Elasticsearch überlegen. Dies lag vor allem an den Einschränkungen des bei Solr eingesetzten Master-Slave. Mit der Verfügbarkeit von Solr-Cloud ging Apache jedoch einen großen Schritt in Richtung weiterführenden Erfolg. Denn auf diese Weise hat die Suchplattform bei der Skalierbarkeit deutlich aufgeholt und die Größe der aufgenommenen und durchsuchten Datensätze erhöht sich durch kontinuierlich eingebrachte Verbesserungen.

Indexierung und Queryverarbeitung

Solr überzeugt mit SolrJ oder SolrNet (für Microsoft-Technologien) und besitzt damit eine deutlich bessere Java API als ElasticSearch. Obwohl die REST API von Solr subjektiv eine geringere Flexibilität aufweist, erledigt sie Kernaufgaben wie Queryverarbeitung und Indexierung auf hohem Niveau. Ursprünglich auf XML ausgerichtet, unterstützt Solr einstweilen auch JSON und zieht hier mit ElasticSearch gleich. 

Durch die integrierte API indexiert Solr problemlos Content aus benutzerdefinierten, bereits bestehenden oder konfigurierbaren Anwendungen. Text aus Binärdateien extrahiert Solr über Apache Tika. 

Usability - nicht nur für Könner

Grundsätzlich kann der Nutzer unmittelbar nach dem Download mit seiner Arbeit beginnen. Denn Solr enthält einen vorgefertigten Jetty in Form eines Servlet-Containers. Allerdings möchte Solr keinen Anwender dazu zwingen, sich auf eine ganz bestimmte Technik festzulegen. Daher hat man die Wahl zwischen mehreren Servlet-Containern. Eine aufwendige Konfiguration ist überflüssig.

Dies gilt heute ebenfalls für xml.Schemas, die früher mühsam eingepflegt werden mussten. Ab der Version 4.4. profitieren Anwender von der Schemafreiheit. Allerdings geht es nicht ganz ohne Konfiguration. Bei der SolrCloud ist sie ein wesentlicher Bestandteil. Denn der Anwender definiert, auf welcher Suchmaschine ein Index landet. Dadurch ist er in der Lage, durch die gezielte Auswahl der Suchmaschine die Performance zu optimieren.

Maßgeschneidert für maximale Individualität

Vor allem für erfahrene Anwender ist Solr das perfekte System, um es an die individuellen Anforderungen anzupassen. Zusätzlich zu den zahlreichen bereits verfügbaren Erweiterungen für Solr besteht die Möglichkeit, eigene Komponenten zu erstellen und in Solr zu integrieren. Dazu zählt unter anderen die SearchComponent. Sie ermöglicht das Einbinden selbst erstellter Varianten bereits bestehender Komponenten wie beispielsweise Spell Checking, Query oder Highlighting.