iX 11/2016
S. 60
Review
Verteilte Suche
Aufmacherbild

Neuerungen in Elasticsearch 5

Besser suchen

Elasticsearch ist eine leistungsfähige Software für die verteilte Volltextsuche und die Analyse von Log- und Event-Daten. Version 5.0 bringt eine Reihe von Neuerungen unter anderem bei der Datenaufbereitung und beim Re-Indexieren gespeicherter Daten. Elasticsearch und die Projekte Beats zum Einsammeln von Daten, Logstash zur Vorverarbeitung und Kibana zur Visualisierung erscheinen jetzt in aufeinander abgestimmten Versionen.

Elasticsearch hat sich einen Namen als Volltextsuchmaschine gemacht. Aber auch zum Analysieren von Log- und Event-Daten hat sich die Open-Source-Software bewährt: Mithilfe von Aggregationen, die beispielsweise zählen, wie häufig ein bestimmter Term in den Suchergebnissen vorkommt, lassen sich zügig aktuelle Statistiken über die gespeicherten Daten abfragen. So liefert Elasticsearch ohne große Mühe einen Überblick, aus welchen Regionen der Zugriff auf einen Apache-Server erfolgt ist – dank des Elasticsearch-Aufsatzes Kibana auch gleich in Form übersichtlicher Grafiken.

Elasticsearch-Installationen lassen sich einfach über mehrere Server verteilen. Dabei erfolgt sowohl die Speicherung der Daten als auch die Suche verteilt über die Rechner eines Clusters. Elasticsearch kann so auch steigende Anforderungen durch schnell wachsende Datenmengen, eine zunehmende Abfragelast oder den Wunsch nach erhöhter Ausfallsicherheit erfüllen.

Eine wichtige Neuerung in Elasticsearch 5.0, deren Beta wir uns angesehen haben, sind die sogenannten Ingest Nodes. Bislang mussten auch einfachste Vorverarbeitungsschritte von Datensätzen außerhalb von Elasticsearch stattfinden. Gerne wird dafür Logstash eingesetzt, das iX bereits an einem konkreten Beispiel – der Analyse von CSV-Dateien mit dem Spendenaufkommen von Wikimedia – vorgestellt hat [1].

Jetzt können Ingest Nodes einfache Parsing- und Konvertierungsschritte in Elasticsearch erledigen. Daten lassen sich damit direkt an die Suchsoftware schicken, ohne dass man sie zunächst mit Logstash für die Weiterverarbeitung aufbereiten muss. Das Anliefern der Daten kann Beats übernehmen, ein im Elasticsearch-Umfeld entstandenes Open-Source-Projekt.