Solr
Home » Technologien »
Beliebteste Enterprise-Suchmaschine
Apache Solr ist eine Suchplattform, die auf Apache Lucene basiert – einer Java API zur Volltextsuche. Ursprünglich wurde Solr 2004 für das News-Portal CNET Networks entwickelt. Seit 2007 ist die Suchplattform ein Top-Level-Projekt der Apache-Stiftung und kann nicht nur Texte durchsuchen, sondern viel mehr. Solr gilt heute als beliebteste Suchmaschine im Enterprise-Umfeld. Die User-Liste reicht von AT&T über ebay und Instagram bis hin zu Netflix. Wir setzen Solr schon seit Jahren als Suchkomponente für komplexe Webapplikationen ein – zum Beispiel bei Online-Shops und E-Government-Plattformen. Eine Alternative ist das jüngere ElasticSearch. Da es von einer privaten Firma betreut wird, ist hier jedoch offen, wie sich die Suchmaschine langfristig weiterentwickelt und welche Form die Lizenz annimmt.
Flexible Indexierung und schnelle Suche
Die beiden zentralen Schritte bei der Arbeit mit Solr sind Indexierung und Suche. Die Indexierung ist konzeptuell vergleichbar mit der Erstellung eines Buch-Indexes, in dem Stichwörter auf Seitenzahlen verweisen. Wenn ein neues Kapitel hinzukommt, muss der Index aktualisiert werden. Wenn der Index erstellt wurde, lassen sich darin Inhalte sehr schnell anhand eines Suchworts finden. In einem Projekt konnten wir damit beispielsweise die Echtzeitsuche in einem Bestand von 20 Milliarden Datensätzen nach verschiedenen Kriterien bzw. Kombinationen realisieren, um die Rückverfolgung von historischen Zuordnungen zu ermöglichen. Neben Text unterstützt Solr viele weitere Datentypen wie zum Beispiel Koordinatenpaare oder gar geometrische Figuren.
Ausgelegt für verteilte Systeme
Eine der wichtigsten Eigenschaften von Solr im Kontext von Big Data ist, dass die Technologie gut skaliert und für verteilte Systeme ausgelegt ist. Wird der Index sehr groß, kann er ohne großen Aufwand in sogenannte Shards und mehrere Server aufgeteilt werden. Eine Suchanfrage wird dann in mehrere Sub-Anfragen untergliedert, die jeweils auf den einzelnen Shards laufen. Besonders im Zusammenspiel mit Hadoop kann Solr aufgrund dieser Eigenschaften punkten. Hadoop kann andererseits auch die Indexierung der Inhalte in einem Cluster mit hoher Geschwindigkeit und Parallelität durchführen.