NEST 2.0: ein .NET-Client für Elasticsearch

Das neue Release des .NET-Clients für die Volltextsuchmaschine kommt durch eine große Zahl an Neuerungen und grundsätzlicher Überarbeitung des Codes fast einem Neuanfang gleich.

In Pocket speichern vorlesen Druckansicht
NEST 2.0: ein .NET-Client für Elasticsearch
Lesezeit: 1 Min.
Von
  • Alexander Neumann

Elasticsearch ist eine verbreitete Volltextsuchmaschine, die die quelloffene Volltext-Suchbibliothek Apache Lucene um eine JSON-basierte REST-API erweitert, die sich nicht nur für die Volltextsuche, sondern auch für die Analyse strukturierter Daten wie Logdaten, Clickstream-Analysen und Echtzeit-Anwendungs-Monitoring eignet. Dass es für das in Java geschriebene Elasticsearch auch einen .NET-Client namens NEST gibt, ist nicht so bekannt.

Der .NET-Client ist nun in Version 2.0 veröffentlicht worden, und die Änderungen sind massiv ausgefallen, sodass sich schon fast von einem Neustart sprechen lässt. So wurde der noch auf der Task Parallel Library (TPL) basierende Code gegen die mit .NET 4.5 eingeführten async/await-Schlüsselwörter ausgetauscht. Dadurch soll sich deutlich smarter mit Ausnahmen und Fehlern umgehen lassen. Ebenfalls komplett neu aufgesetzt wurde das eigene Test-Framework, das vor allem für einen vereinheitlichten Testprozess stehen soll, nachdem im alten NEST-Projekt fünf unterschiedliche Testprojekte zum Einsatz kamen.

NEST  2.0 unterstützt alle mit Elasticsearch 2.0 eingeführten Features, darunter sogenannte Pipeline Aggregations, mit denen sich Aggregationen wie Derivate, gleitende Mittelwerte und arithmetische Reihen auf Basis der Resultate anderer Aggregationen ausführen lassen. Noch nicht berücksichtigt werden hingegen die Neuerungen des letzte Woche erschienenen Elasticsearch 2.2.

Mehr ins Detail gehen die NEST-Entwickler im Blog seines Herstellers Elastic. Hier wird noch auf etliche weitere Änderungen und neue Features eingegangen. (ane)