ElasticSearch

Um schnelle, funktionsreiche Suchen zu realisieren, reichen die Mittel einer SQL-Datenbank nicht aus: insbesondere Volltextsuchen erfordern spezielle Suchserver wie Solr oder eben ElasticSearch. Neben Geschwindigkeit bietet ES auch viele weitere Features wie Auto-Korrekturen, Geosuchen u.v.m.

Ohne Suchen und Suchmaschinen wäre das Internet heute undenkbar. Daher gehört zu einer modernen Website nicht nur eine gute Menüführung, sondern zunehmend auch eine schnelle und flexible Suche. Je größer die Website, desto wichtiger wird die Suche.

Eine Suche stellt besondere Anforderungen an die Webanwendung: denn während eine Seite in vielen Fällen für alle Nutzer gleich aussieht und so zwischengespeichert werden kann, muss die Suche für die vom Nutzer gewählten Suchbegriffe Inhalte zusammenstellen. Die klassische Kombination von Programmiersprache wie PHP oder Python und Datenbankserver wie MySQL kommt dort schnell an Grenzen, ganz besonders dann, wenn Volltext-Suchen oder gar Live-Suchen gewünscht werden.

Um Volltext-Suchen schnell und ressourcenschonend umzusetzen, werden spezielle Suchserver wie Solr oder ElasticSearch eingesetzt. Diese werden als zusätzlicher Systemdienst auf Servern installiert und stehen so nur auf Rootservern zur Verfügung. Dort bieten sie aber das Potential zu einer extremen Beschleunigung jeglicher Suchvorgänge.

Mein erster Kontakt zu ElasticSearch war Politik bei Uns, da dort ca. 100 GB PDF = 100 MB reiner Text in Milisekunden durchsucht werden sollten: eine klassische Aufgabe, wo Suchserver ihre Stärken zeigen. Seitdem habe ich ElasticSearch in einer Reihe an Projekten eingesetzt, nicht zuletzt als Erweiterung für WordPress: So fantastisch WordPress als Mini-CMS auch ist, so sehr schwächelt es bei der Suche. Dies wird durch die Integration von ElasticSearch mehr als behoben.