Elasticsearch 1.3 öffnet Tore für Skript-Sprachen
Kommentare

Die Suchplattform Elasticsearch gibt es in zwei aktualisierten Versionen. Zum einen ist da Elasticsearch 1.2.3, das Bugfixes für die 1.2-Entwicklungslinie nachliefert. Das neueste stabile Release heißt

Die Suchplattform Elasticsearch gibt es in zwei aktualisierten Versionen. Zum einen ist da Elasticsearch 1.2.3, das Bugfixes für die 1.2-Entwicklungslinie nachliefert. Das neueste stabile Release heißt aber Elasticsearch 1.3.0, das jetzt auf Lucene 4.9 basiert und zahlreiche neue Features an Bord hat.

Elasticsearch 1.3 setzt auf Groovy

Interessant sind vor allem die neuen Skripting-Funktionen. Hier hat man sich von der bisher bevorzugten Skriptsprache MVEL verabschiedet und setzt voll auf Groovy. Ab der nächsten Elasticsearch Version 1.4 soll MVEL nur noch als optionales Plug-in verfügbar sein. War dynamisches Skripting in Elasticsearch per Default bisher deaktiviert, so ist es für Sandbox-gesicherte Sprachen jetzt Out-of-the-Box möglich. Groovy-Skripte können beispielsweise via API über { „lang“: „groovy“ } eingebunden werden.

Zu Skripting-Zwecken wurde zudem die Lucene “expressions” Library dem Core hinzugefügt, die gegenüber Groovy zwar limitiert ist, aber dafür unglaublich schnell sein soll. Und da Search Templates eigentlich nur ein Sonderfall des Einsatzes von Skripts sind, kann man diese jetzt im .scripts index speichern.

Eine weitere Neuerung bezieht sich auf Security. Während Elasticsearch es bisher jedem Request erlaubte, seine Antwort im JSONP-Format zu senden, ist diese Option jetzt aus Sicherheitsgründen erst einmal ausgeschaltet. JSONP kann aber jederzeit wieder aktiviert werden.

Überarbeitungen gibt es auch im Bereich der Aggregationen, beim Indexing, beim Mapping und bei der Suggester-Funktion. Für letztere wurde gar ein neuer Experte eingestellt, sodass hier mit weiteren Innovationen in den kommenden Releases zu rechnen ist.

Für den einen oder anderen interessante dürften auch die Veränderungen im Bereich Dateimanagement sein. Der Festplatten-basierte Shard-Zuweiser (disk-based shard allocation decider) hat neue Default-Einstellungen erhalten und ist von Haus aus nun aktiviert. Das Upgrade auf Lucene 4.9 bringt eine bessere Kompression für Normen mit sich (field length normalization), was sowohl die Festplatten- als auch die Speicher-Nutzung optimieren soll.

Alle Änderungen werden auf dem Elasticsearch Blog vorgestellt. Was die Verbesserungen der Ausfallsicherheit angeht, so verweist das Team auf die vielen Issues, die man auf GitHub einsehen kann. Stabilität und Ausfallsicherheit seien nämlich ein immer währendes Anliegen, mit dem Ziel, Elasticsearch „rock solid“ zu machen.

These resiliency improvements are part of an ongoing effort to make Elasticsearch rock solid.

Was ist Elasticsearch?

Elasticsearch setzt wie die Suchplattform Solr auf Lucene auf, unterstützt dabei aber von Haus aus die Aufteilung von Daten auf mehrere Shards und die Daten-Replikation, bei der die Shards auf einem oder mehreren Nodes dupliziert werden. Vom Grundprinzip her ist Elasticsearch 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.

Geschrieben ist Elasticsearch in Java, die Features der Lucene Library werden via JSON und Java API verfügbar gemacht. Prinzipiell ist Elasticsearch aber sprachneutral, unterstützt werden neben Java auch JavaScript, PHP, Perl, Python und Ruby.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -