19.112014

Elasticsearch mit neuer Version vorgestellt

Seit dem 5.11. ist nun für alle Entwickler und Sysadmins die neueste Version von Elasticsearch released worden. Was ist neu in Version 1.4? Nun, zum einen wurde nun als Standardscriptinglangue von groovy auf MVEL geswitched, wobei MVEL weiterhin als plugin für die nachfolgenden Versionen verfügbar ist.

Filtered Aliases

Weiter ist es nun möglich, wie in SQL views zu erstellen. Bei ES nennt man es Alias in denen man zuvor aber keine defaultfilter einrichten konnte. Dies ist nun ganz einfach möglich, mit der create index oder put mapping API von Elasticsearch. Was dabei noch wichtig zu beachten ist, gefilterte Aliase können nur auf existente Felder in einem verfügbaren Mapping zugreifen.

Indices apis

Die API-GET-Schnittstellen _warmers, _aliases und _mappings geben nun immer einen Wert zurück, selbst wenn keine erstellt wurden. Will heißen, dass wenn man z.B.

curl -XGET 'http://localhost:9200/_all/_warmers'

oder

curl -XGET 'http://localhost:9200/_warmers'

ausführt man dieselben ergebnisse zurückgelifert bekommt.

Bulk UDP API

Die Bulk UDP API ist seit dieser Version deprecated und sollte in Zukunft nicht mehr verwendet werden. Man sollte stattdessen nun die standard bulk API benutzen, da die bulk UDP API ab Version 2.0 entfernt wird. Außerdem ist es hierbei wichtig, dass der Cluster eine ausgewählte Master Node besitzt. Sobald die Node ihren Master verliert, gehen alle Operationen verloren.

Zen discovery

Vor Version 1.4.0.Beta1 war es immer so, dass sobald ein ein Cluster keine Masternode mehr hatte, alle Operationen sofort abgebrochen wurden. Dies wurde nun insoweit behoben, dass nun nur die schreibzugriffe abgebrochen werden und (laut Doku) man nun auch ohne ausgewählten Master die Suchanfragen weiter abfeuern kann. In der Praxis würde sowas teilweise Sinn machen, wenn man ein komplettes Cluster update macht und unterschiedliche Anzahl von Master und Data Nodes hat.

More Like This Field

Die More like this query benötigt ab sofort kein eigenes Feld mehr für ihre Abfragen. Man kann beispielsweise nun einen Text angeben, nach dem gesucht werden soll und dann zusätzlich mit dem Parameter field das oder die Felder angeben, in denen gesucht werden soll.

MVEL

Das Plugin MVEL für die neuen Elasticsearch Versionen ist unter GitHub zu finden. Hier der Link