Die Über-Suchmaschine

Verteilte Suche mit Elasticsearch

Praxis & Tipps | Praxis

Das Suchfeld ist bei vielen Anwendungen und Websites wichtigstes Bedienelement geworden. Mit Elasticsearch lässt sich eine leistungsfähige, verteilte Suche in großen Datenbeständen unkompliziert aufsetzen. Die Open-Source-Lösung glänzt dabei mit eingebauten Cluster-Fähigkeiten und einer einfachen REST-Schnittstelle.

Eine vernünftige Suchfunktion ist für Webanwendungen heute selbstverständlich: Xing-Anwender suchen nach Jobangeboten, Events, Firmen oder Mitgliedern, Entwickler auf GitHub durchstöbern die unzähligen Quellcode-Repositories, Musikfans finden auf Soundcloud neue Musik. Alle diese Websites nutzen Elasticsearch, eine Software, die auf Apache Lucene aufsetzt. Das Lucene-Projekt entwickelt eine Open-Source-Programmbibliothek zur Volltextsuche. Deren Einsatz gestaltet sich aber nicht ganz einfach: Lucene ist eine Java-Bibliothek, die sich nur aus Java-Anwendungen heraus direkt nutzen lässt.

Elasticsearch bringt zwar ebenfalls ein Java-API mit; für die meisten Entwickler dürfte jedoch die REST-Schnittstelle interessanter sein, über die Daten im JSON-Format per HTTP ausgetauscht werden. Das geht mit jeder gängigen Skript- oder Programmiersprache, per Kommandozeile und zur Not sogar direkt im Webbrowser. Die eingebauten Cluster-Fähigkeiten in Elasticsearch sorgen für einfache Skalierung und erlauben die schnelle Implementierung von Hochverfügbarkeit und Lastverteilung. ...

Sie möchten wissen, wie es weitergeht?

Als c't-Plus-Abonnent gratis lesen

Anmelden als c't-Plus-Abonnent

weiterführende Links

Weitere Bilder

  • Marvel ist ein Monitoring-Plug-in für Elasticsearch.