Elasticsearch

Was ist Elasticsearch?

Elastic Stack, bzw. früher Elasticsearch genannt, ist eine äußerst leistungsfähige Suchmaschine. Sie ist einer der weitest verbreiteten Enterprise-Search-Engines bzw. Suchserver.

Wie funktioniert Elasticsearch?

Elasticsearch ist eine auf der Lucene-Bibliothek basierende Suchmaschine. Ein wesentliches Merkmal ist, dass  Elasticsearch einen verteilten Index (shards  - Scherben, Bruchstücke) verwendet, um eine schnelle und genaue Suche in großen Datensätzen zu ermöglichen. Elasticserach ist nicht nur eine mandantenfähige Volltextsuchmaschine (Stichwort Fulltext Indexing) sondern verarbeitet auch Rohdaten wie systemtechnische Metriken, Logdaten usw. Sie ist in Java geschrieben, speichert Dokumente in JSON und läuft sowohl auf der Client- als auch auf der Serverseite. Elasticsearch ist beliebt für seine Fähigkeit, große Datenmengen schnell zu indizieren und für seine Unterstützung von Text-, Zeit- und Ortssuche. 

Welche Merkmale bzw. Vorteile hat Elasticsearch?

Elasticsearch weist unter anderem folgende Merkmale bzw. Vorteile auf: 

  • Echzeit Suchmaschine
  • REST API (JSON)
  • RESTful-Webinterface für Client
  • Facettensuche
  • Synonymsuche
  • Suchvorschläge
  • Rechtschreibkorrektur
  • Mandantenfähigkeit
  • Schemafreie JSON-Dokumenten

Für wenn ist Elastic Search geeignet? 

Elasticsearch kommt sowohl für kleine als auch große Webseiten in Frage. Ihre großen Vorteile spielt sie insbesondere bei Webseiten mit hohen Zugriffszahlen aus. Denn dann sind meist auch umfängliche Inhaltsseiten gegeben. Eine Standard-Suchfunktion kommt hier schnell an ihre Grenzen, vor allem wenn viele Zugriffe zur selben Zeit erfolgen.  Nicht nur wird der Betrieb von Elasticsearch in einem skalierbaren Servernetzwerk standardmäßig unterstützt, sondern die unterschiedlichen Teile eines Indexes können auf mehrere Server aufgeteilt. Dadurch sind Hochverfügbarkeit und Lastverteilung kein Thema, und die Suchmaschine kann daher mit den steigenden Suchanfragen und Content mitwachsen. 

Ist Elastic Search Open Source bzw. kostenlos?

Ursprünglich begann das Softwareprojekt als klassisches Open Source Projekt und das erste Release war als quellverfügbare Server Side Public License  in 2010 verfügbar. Die Community war zu der Zeit unter elasticsearch.org erreichbar.  

Seit 2018 notiert Elastic NV an der Börse. Heute wird  ein kostenloser und offener Elastic Stack angeboten, wobei die Basis, bzw. der Kern der Software, noch immer als Server Side Public License zur Verfügung stehen. Für andere Teile wie beispielsweise Cloudangebote oder Machine Learning ist die proprietäre Elastic-Lizenz notwendig. 

Was zeichnet das Neos CMS im Zusammenhang mit elastic aus? 

Heute steht für das Neos CMS ein direkter Indexer für das Content-Repository zur Verfügung. Dadurch lässt sich die Konfiguration von elastic und des Neos CMS und damit dem Content Model effizient abstimmen. 

Vorteile des direkten Indizieren des Content-Repositories in Verbindung mit der Neos Content Dimensions (Inhaltsdimension) sind unter anderem: 

- Leichter Aufbau einer Facettensuche

- Fulltext Indexing (Volltextsuche) ist über YAML konfigurierbar 

- Indexierung von Inhaltsdimensionen ist separat konfigurierbar

- Indexes sind leicht zu verwalten inkl. sprachspezifische Analyse, Filter, StopWords

- Custom result rendering - die Darstellung von Suchergebnissen (Custom result rendering) lassen sich auch sehr individuell anpassen.