Elasticsearchs fi-NEST: umfangreiche Neuerungen wie C# 6 Support

NEST 2.0 – .NET-Client für Elasticsearch komplett überarbeitet
Kommentare

Die neue Version 2.0 des .NET-Clients NEST aus dem Hause Elasticsearch räumt nach fünf Jahren Beständigkeit ordentlich auf. Auf C# 6 aktualisiert und vollständig überarbeitet, ist dabei am ehesten von einem umfangreichen Neustart zu sprechen.

Elasticsearch ist eine auf der Open Source Bibliothek Lucene basierende Suchmaschine, die ihre Suchergebnisse in JSON speichert und per RESTful-Webinterface ausgibt. Lucene wird dabei nicht nur um das Interface erweitert, sondern auch zur Analyse strukturierter Daten, wie Logdaten, Clickstream-Analysen und Echtzeit-Anwendungs-Monitoring aufgerüstet. Das hauseigene .NET-Framework NEST überzeugt dabei seit jeher mit konsequentem 1:1-DSL-Mapping und der Nutzung spezifischer .NET-Features. Doch mit NEST 2.0 wird nicht nur endlich auf die Neuerungen von Elasticsearch 2.0 eingegangen. Auch grundlegende Funktionsweisen und Mechanismen werden neu auf den Prüfstand gestellt und angepasst.

Umfangreiche Änderungen

Die alte Task Parallel Library (TPL) wurde durch async/await-Schlüsselwörter ersetzt, die bereits mit .NET 4.5 eingeführt worden waren. Dadurch soll ein einfacherer und übersichtlicherer Umgang mit Errors/Exceptions gewährleistet werden. Das Test-Framework wurde von Grund auf neu geschrieben und die bisher verwendeten fünf Test-Projekte einheitlich in einem einzelnen zusammengefasst.

Neben obligatorischen Unit- und Integration-Tests können im sog. Virtual Cluster sämtliche Testeventualitäten simuliert und kontrolliert werden, während die neuen Literate Tests eine ASCIIdoc Dokumentationsbeschreibung der Tests selbst liefern.

Exception-Handling umgekrempelt

Das Exception-Handling selbst hat sich ebenfalls stark verändert. Komplizierte und unnötig vielfältige Exception-Types wurden auf drei reduziert und ein simples ThrowException() zeigt an ob dem Client überhaupt Fehlermeldungen gezeigt werden. Neben der Einführung des attributbasierten Datentyp-Mappings und der damit deutlich übersichtlicheren Syntax unterstützt NEST 2.0 schlicht gesagt alle mit Elasticsearch 2.0 eingeführten Features – darunter bspw. sogenannte Pipeline Aggregations, mit denen sich Aggregationen wie Derivate, gleitende Mittelwerte und arithmetische Reihen auf Basis der Resultate anderer Aggregationen ausführen lassen.

Die mit Elasticsearch 2.2 eingeführten Neuerungen sind noch nicht beachtet, doch allein der Support von C# 6 reduziert den häufig genutzten Code zu kurzen Einzeilern.

Mehr Informationen und eine genauere Übersicht zu den Änderungen gibt’s im Blogpost von elastic direkt.

Schnell und überall: Datenzugriff mit Entity Framework Core 2.0

Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

C# 7.0 – Neues im Detail

Christian Nagel (CN innovation)

Aufmacherbild: TIME FOR A NEW START von Shutterstock / Urheberrecht:  relif

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -