Elasticsearch unter NoSQL-Gesichtspunkten

Suche mit anderen Augen

Christian Meder, Bernhard Pflugfelder


In unserem ersten Teil stellten wir zum einen das dokumentenorientierte Datenmodell und die horizontal skalierbare und hochverfügbare Architektur, zum anderen das Index- und Datenmanagement vor.

Wir beschrieben Elasticsearch als einen dokumentenorientierten Data Store, in den man beliebig komplexe JSON-Objekte speichern kann. Das Datenmodell definiert ein solches JSON-Objekt als document und wir führten deshalb das JSON Dokument als Bezeichnung für ein gespeichertes JSON-Objekt in Elasticsearch ein. Diese Bezeichnung werden wir auch in diesem zweiten Teil verwenden. In diesem Zusammenhang diskutierten wir ausführlich das mapping, das zugrunde liegende Schema der JSON-Dokumente. Eine weitere sehr bequeme Eigenschaft von Elasticsearch ist hierbei, dass das mapping, wenn nicht explizit vorgegeben, automatisch erkannt wird – der User kann somit Elasticsearch tatsächlich schemaless verwenden. Weiterhin wurden die für den Einsatz als Data Store wesentlichen Operationen insert, get, update und delete anhand von Beispielen vorgestellt.

In diesem zweiten Teil möchten wir dem Leser eine Übersicht über die umfangreiche Suchfunktionalität von Elasticsearch in Form verschiedener Queries geben. Hervorheben möchten wir hierbei die so genannten Facets, die in Suchapplikationen heute de facto ein Standard für die Drill-down-Suche und Navigation sind. Aber Facets können mehr, denn sie geben einen qualitativen Einblick entlang der zugrunde liegenden Dimensionen in den Datenraum – nicht unähnlich zu einem multidimensionalen Würfel. Und Facets sind schnell, sodass Elasticsearch auch für die Real-Time-Datenanalyse ein geeignetes Werkzeug ist. Neben der Suchfunktionalität und den Facets werden wir in diesem zweiten Teil auch Möglichkeiten und Tools vorstellen, mit denen man einfach Daten in Elasticsearch importieren kann. Des Weiteren geben wir eine Übersicht über verfügbare Clients und Frontends für Suche, Analyse und Clusterkonfiguration. Abschließen möchten wir diesen Artikel mit einigen Möglichkeiten zum Thema Monitoring.

Suche

Auch andere dokumentenorientierte NoSQL Data Stores bieten zwar bereits eine Textsuche an (z. B. MongoDB ab Version 2.4), aber die Volltextsuche von Elasticsearch hat einen sehr großen Umfang an unterschiedlichen Suchtypen (Queries) und bietet zusätzlich eine sehr gute Suchqualität mit vielen Stellschrauben. Im Hintergrund arbeitet Apache Lucene und führt die eigentliche Suche und die Berechnung der Relevance Scores aus. Ein Relevance Score ist hierbe...

Elasticsearch unter NoSQL-Gesichtspunkten

Suche mit anderen Augen

Christian Meder, Bernhard Pflugfelder


In unserem ersten Teil stellten wir zum einen das dokumentenorientierte Datenmodell und die horizontal skalierbare und hochverfügbare Architektur, zum anderen das Index- und Datenmanagement vor.

Wir beschrieben Elasticsearch als einen dokumentenorientierten Data Store, in den man beliebig komplexe JSON-Objekte speichern kann. Das Datenmodell definiert ein solches JSON-Objekt als document und wir führten deshalb das JSON Dokument als Bezeichnung für ein gespeichertes JSON-Objekt in Elasticsearch ein. Diese Bezeichnung werden wir auch in diesem zweiten Teil verwenden. In diesem Zusammenhang diskutierten wir ausführlich das mapping, das zugrunde liegende Schema der JSON-Dokumente. Eine weitere sehr bequeme Eigenschaft von Elasticsearch ist hierbei, dass das mapping, wenn nicht explizit vorgegeben, automatisch erkannt wird – der User kann somit Elasticsearch tatsächlich schemaless verwenden. Weiterhin wurden die für den Einsatz als Data Store wesentlichen Operationen insert, get, update und delete anhand von Beispielen vorgestellt.

In diesem zweiten Teil möchten wir dem Leser eine Übersicht über die umfangreiche Suchfunktionalität von Elasticsearch in Form verschiedener Queries geben. Hervorheben möchten wir hierbei die so genannten Facets, die in Suchapplikationen heute de facto ein Standard für die Drill-down-Suche und Navigation sind. Aber Facets können mehr, denn sie geben einen qualitativen Einblick entlang der zugrunde liegenden Dimensionen in den Datenraum – nicht unähnlich zu einem multidimensionalen Würfel. Und Facets sind schnell, sodass Elasticsearch auch für die Real-Time-Datenanalyse ein geeignetes Werkzeug ist. Neben der Suchfunktionalität und den Facets werden wir in diesem zweiten Teil auch Möglichkeiten und Tools vorstellen, mit denen man einfach Daten in Elasticsearch importieren kann. Des Weiteren geben wir eine Übersicht über verfügbare Clients und Frontends für Suche, Analyse und Clusterkonfiguration. Abschließen möchten wir diesen Artikel mit einigen Möglichkeiten zum Thema Monitoring.

Suche

Auch andere dokumentenorientierte NoSQL Data Stores bieten zwar bereits eine Textsuche an (z. B. MongoDB ab Version 2.4), aber die Volltextsuche von Elasticsearch hat einen sehr großen Umfang an unterschiedlichen Suchtypen (Queries) und bietet zusätzlich eine sehr gute Suchqualität mit vielen Stellschrauben. Im Hintergrund arbeitet Apache Lucene und führt die eigentliche Suche und die Berechnung der Relevance Scores aus. Ein Relevance Score ist hierbe...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang