Wer suchet, der findet

Elasticsearch 5.0.0 ist da: Neuer Java HTTP/REST Client und Skript-Sprache Painless

Hartmut Schlosser

(c) Shutterstock / bigredlynx

Die fünfte Major-Version der Suchplattform Elasticsearch ist da. Neben der Unterstützung von Lucene 6.2 bietet das Release einen verbesserten Indizierungsdurchsatz und die neue Script-Sprache Painless. Java-Entwickler dürfen sich über die erste Version eines Java HTTP/REST Clients freuen.

Was ist Elasticsearch?

Elasticsearch ist eine Suchplattform, die auf das Apache-Projekt Lucene aufsetzt und eine Reihe nützlicher Funktionalität integriert, etwa die Aufteilung von Daten auf mehrere Shards und eine automatisierte Daten-Replikation. Elasticsearch ist ein dokumentenorientierter Data Store, in dem beliebig komplexe JSON-Objekte (documents) gespeichert werden können. Geboten wird eine verteilte, Multitenant-fähige Volltext-Suchengine mit einem RESTful Web Interface und Schema-freien JSON-Dokumenten.

Elasticsearch 5.0.0

Durch die enge Verzahnung von Elasticsearch mit Lucene schließt sich einem größeren Lucene-Release üblicherweise auch eine neue Elasticsearch-Version an. So auch dieses Mal: Das im August erschienene Lucene 6.2 wird nun vollständig in Elasticsearch 5 unterstützt, was Features wie einen erweiterten morphologischen Analyzer und das verbesserte I/O-Modul MMapDirectory mit sich bringt.

Elasticsearch 5.0.0 selbst soll durch diverse Optimierungen u.a. in den numerischen Datenstrukturen einen deutlich verbesserten Indizierungsdurchsatz bieten, der je nach Anwendungsfall zwischen 25 und 80% Geschwindigkeitszuwachs ermöglichen soll.

War das Scripting in Elasticsearch bislang aus Sicherheitsgründen per Default deaktiviert, so bietet die Plattform nun mit der neuen Skriptsprache „Painless“ eine von Haus aus aktivierte Sprache an. In Zukunft soll Painless die Rolle anderer Skriptsprachen übernehmen, Groovy, JavaScript und Python wurden deshalb bereits als „deprecated“ (veraltet) markiert und sind nicht mehr zur Nutzung empfohlen.

Ein weiterer Fokuspunkt in Elasticsearch 5.0.0 lag auf der verbesserten Anwenderfreundlichkeit. Nach dem Motto „Shout loud, shout early“ hat das Team beispielsweise eine strikte Validierung der Einstellungen eingebaut, die eine Warnung ausgibt, sollte eine Änderung in den Einstellungen wenig Sinn ergeben. Sollte eine Shard-Allokation fehlschlagen, bricht Elasticsearch nach fünf Versuchen ab und bietet mit dem neuen cluster-allocation-explain API  ein Werkzeug zur Suche nach den Gründen des Fehlers.

Neu ist zudem ein Low-Level Java HTTP/REST Client, der nur wenige Abhängigkeiten aufweist und Dinge wie Logging, Sniffing und Neuversuche bei Node-Ausfällen unterstützt. Vorausgesetzt wird Java 7, ein weiterer Ausbau des Clients, etwa durch ein API, das dabei hilft, Queries zu konstruieren und Antworten zu parsen, ist vorgesehen.

Migration

Alle Neuerungen in Elasticsearch 5.0.0 sind ausführlich in den Release Notes beschrieben. Wer an einer Migration auf die neue Version interessiert ist, dem steht mit dem Migration Helper ein Plug-in zur Verfügung, das eine Elasticsearch 2.3.x/2.4.x-Anwendung auf Elasticsearch 5.0 vorbereitet.

 

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: