02 Februar 2016 Veröffentlichungen

Veröffentlichung von Elasticsearch 2.2.0, 2.1.2 und 1.7.5

Von Clinton Gormley

Wir freuen uns, das Release von Elasticsearch 2.2.0 , das auf Lucene 5.4.1 basiert, und die Bug-Fix-Releases von Elasticsearch 2.1.2 und Elasticsearch 1.7.5 bekannt zu geben. Alle diese neuen Releases stehen bereits auf Cloud – unserer Elasticsearch-as-a-Service-Plattform - zur Verfügung. Ebenfalls veröffentlicht, wurden neue Versionen von Kibana, Logstash, Beats, und Elasticsearch-Hadoop.

Elasticsearch 2.2.0 verfügt über folgende neue Funktionen: den Queri-Profiler und optimierte Geo-Point-Felder. Durch die Erstellung neuer Module der Skripting Komponenten konnte die Sicherheit erhöht werden. Des weiteren enthält dieses Release einen wichtigen Bug-Fix, der bei Elasticsearch 2.1.0 zu einer langsamen Shard-Recovery führte, sowie weitere Bug-Fixes und Verbesserungen.

Wir empfehlen allen Benutzern, das Upgrade vorzunehmen.

Weitere Informationen gibt es unter folgenden Links:

Bug-Fixes bei 2.1:

Bug-Fixes bei 1.7.5:

Profiler-API

Zum ersten Mal in der Geschichte von Lucene und Elasticsearch haben Anwender nun Zugriff auf detaillierte Query-Profilerinformationen, womit jeder Einblick in die Query-Performance erhalten kann, um diese zu verbessern. Jeder Teil der Suchanfrage wird unabhängig gemessen, wobei Statistiken aufgezeichnet werden, zum Beispiel, wie lange die Rewrite Phase der Anfrage dauert, um passende Dokumente zu finden. Als Entwickler wird lediglich der Parameter profile auf true gesetzt, um sofort einen detaillierten Einblick zu erhalten.

Wir planen, diese Funktion in Zukunft auch auf Aggregationen und eventuell auch Suggester und Highlighter zu erweitern.

Mehr Informationen dazu in der Profiler-API-Dokumentation.

Optimierte Geo-Point-Felder

Geo-Point-Felder werden als neue Datenstruktur in Lucene gespeichert. Das Ergebnis: 50 % schnellere Indexierung, 20–50 % schnellere Geo-Querys, halb so viel Festplatten- und Heap-Nutzung sowie ein vereinfachtes Mapping. Vorhandene Geo-Point-Felder funktionieren weiterhin wie gewohnt, während neue Geo-Point-Felder automatisch die neue Funktionalität nutzen.

Mehr über die Geo-Point-Verbesserungen ist im Artikel Die Optimierung von geo_point-Feldern in Elasticsearch 2.2 nachzulesen.

Strengere Sicherheitsmaßnahmen für Plugins und Scripting

Im Rahmen unserer Bemühungen, Elasticsearch so sicher wie möglich zu machen, wurden die Scripting-Sprachen Groovy und Lucene Expressions aus dem Kern entfernt. Diese werden nun in Form von Modulen veröffentlicht, wobei es sich im Wesentlichen um Plugins handelt, die beim Start automatisch aktiviert werden. Dadurch konnten die verfügbaren Berechtigungen für diese Module reduziert werden, um die Angriffsfläche für Hacker zu verkleinern. Weitere Teile des Elasticsearch-Kerns werden in zukünftigen Versionen ebenfalls modularisiert.

Scripting-Sprachen haben nun eine vorab definierte Whitelist mit Java Klassen, die geladen werden dürfen, damit Scripte keine Dateien lesen oder schreiben oder Sockets für Remote-Server öffnen können! Mehr Informationen über die individuelle Anpassung der Whitelist findet sich unter Scripting und der Java-Sicherheitsmanager.

Alle Plugins, die gesonderte Berechtigungen benötigen, die nicht standardmäßig erlaubt sind, müssen diese Berechtigungen einholen. Bei der Installation des Plugins wird darüber informiert. Dadurch ist das Mapper-Attachments-Plugin in das Elasticsearch Repository verschoben worden.

Fazit

Ladet Elasticsearch 2.2.0 herunter, testet und hinterlasst uns eure Meinung auf Twitter (@elastic) oder in unserem Forum. Jegliche Probleme aller Art sollten auf der GitHub Issues-Seite gemeldet werden.