Elasticsearch
Elasticsearch
Elasticsearch[1] ist eine offene, kostenlose und starke Suchmaschine, basierend auf Apache Lucene.[2] Das Programm speichert Dokumente in einem NoSQL-Format (JSON) und kommuniziert mit Clients über ein RESTful[3] Webinterface. Als eines der weitverbreitesten Suchserver besitzt es viele Verwendungszwecke[4] und bietet viele Vorteile, wie Geschwindigkeit (Fast-Echtzeit), Verteiltheit[5], Varietät vielerlei Funktionen und die einfache Nutzung für Jedermann.
Außerdem unterstützt Elasticsearch derzeit 34 Sprachen, welche aufgelistet in der ELA-D[6] zu finden sind. Außerdem werden viele Programmiersprachen unterstützt und aktuell gibt es offiziell bereitstehende Clients für die folgenden Sprachen:
- Java
- JavaScript (Node.js)
- Go
- .NET (C#)
- PHP
- Perl
- Python
- Ruby
Wie funktioniert Elasticsearch?
Elasticsearch empfängt viele Rohdaten aus verschiedenen Quellen, wie Logs und Webanwedungen, worauf diese Daten dann daraufhin geparst[7], normalisiert und angereichert. Dann werden die Daten zum Schluss in Elasticsearch indexiert. Nach der Indexierung können Nutzer komplexe Abrufungen starten und anhand Aggregationen komplexe Zusammenfassungen erhalten. Anschließend bietet Kibana[8] die Möglichkeit die Daten auf verschiedenen Weisen abzurufen, zu visualisieren, mit anderen Nutzern zu teilen und Elasticstack zu verwaten. !!!
- ↑ Elasticsearch elastic.co Abgerufen am 15.03.2023
- ↑ Apache Lucene lucene.apache.org Abgerufen am 15.03.2023
- ↑ Representational State Transfer wikipedia.org Abgerufen am 15.03.2023
- ↑ Verwendungszwecke Suche in Anwendungen (App Search) Suche auf Websites (Site Search) Suche in Unternehmensdaten (Enterprise Search) Logging und Log Analytics Infrastrukturmetriken und Container-Monitoring Monitoring der Anwendungsleistung (Application Performance Monitoring, APM) Analyse und Visualisierung von Geodaten Analyse von Sicherheitsdaten (Security Analytics) Business-Analytics
- ↑ Verteiltheit Die in Elasticsearch gespeicherten Dokumente werden auf verschiedene Container, die sogenannten Shards, verteilt, die dupliziert werden, sodass im Fall eines Hardware-Ausfalls redundante Kopien parat sind. Die Verteiltheit von Elasticsearch macht es möglich, Elasticsearch auf Hunderte von Servern zu skalieren und Daten Petabyte-weise zu verarbeiten.
- ↑ Elasticsearch Language Analyzer-Dokumentation elastic.co abgerufen am 15.03.2023
- ↑ Definition maschinenlesbare Daten analysieren, segmentieren und codieren
- ↑ Kibana Kibana ist die offizielle Benutzeroberfläche von Elasticsearch. Für Elasticsearch-Nutzer ist Kibana die effektivste Benutzeroberfläche für die Gewinnung von Dateneinblicken. (und die aktive Verwaltung des Zustands ihres Elastic Stack) elastic.co Abgerufen am 15.03.2023