Elasticsearch jenseits der Volltextsuche

Elasticsearch wird als verteilte Volltextsuchmaschine immer beliebter. Sie profitiert von zahlreichen attraktiven Features der Basistechnologie Apache Lucene, erweitert diese aber auch kontinuierlich um neue Funktionalität.
Auf der BigDataCon 2015 wird Florian Hopf Anwendungsfälle für Elasticsearch vorstellen. Dass Suchen mit Elasticsearch nicht immer auf Text basieren müssen, veranschaulicht er in folgendem Interview anhand des Beispiels Geodaten.
Du sprichst in deiner JAX-Session über die Volltextsuche in großen Datenmengen mit Elasticsearch. Was zeichnet Elasticsearch aus?
Florian Hopf: Elasticsearch basiert auf der Bibliothek Apache Lucene und stellt viele Features daraus elegant über eine HTTP-API zur Verfügung. Das wirklich Besondere an Elasticsearch ist allerdings dessen verteilte Natur. Einzelne Knoten bilden ein Cluster, in dem dann auch große Datenmengen über Sharding verteilt werden können. Um mit einer hohen Anfragelast umgehen zu können, ist es möglich, die Daten zusätzlich auf mehrere Knoten zu replizieren. Mächtige Features. Die einfache Bedienung steht dabei aber immer im Vordergrund.
In welchen Fällen kommt Elasticsearch typischerweise zur Anwendung? Kannst du ein Beispiel nennen?
Hopf: Der klassische Anwendungsfall ist natürlich die Suche, die ja auch schon im Namen steckt, oft auf Textdaten. Der von Apache Lucene bereitgestellte invertierte Index wird genutzt, um Daten schnell auffindbar zu machen. Dafür gibt es dann auch jede Menge Beispiele – Entwickler kommen besonders häufig mit einer auf Elasticsearch basierenden Suche in Kontakt, da sowohl GitHub als auch Stackoverflow darauf aufsetzen. Daneben glänzt Elasticsearch vor allem mit den Analytics-Möglichkeiten, nicht nur für zentralisiertes Logging im Zusammenspiel mit Logstash und Kibana.

Wo liegt der Unterschied zu Caching-Lösungen wie beispielsweise Hazelcast?
Hopf: Der gravierendste Unterschied ist sicherlich, dass Elasticsearch die Daten persistiert und damit auch für eine längerfristige Speicherung verwendet werden kann. Zusätzlich sind sehr viel komplexere Abfragen möglich.
Elasticsearch baut auf Apache Lucene auf. Welche Vorteile – aber evtl. auch Nachteile – ergeben sich daraus?
Hopf: Apache Lucene ist ein stabiles und bewährtes Projekt, in das viel Hirnschmalz geflossen ist. Da es ein sehr wichtiger Unterbau für Elasticsearch ist, unterstützt das Unternehmen dahinter mittlerweile auch die Entwicklung – mehrere Commiter sind dort angestellt.
In deiner W-JAX Session sprichst du auch Geo-Spatial-Features an. Welche bietet Elasticsearch – und was kann man damit machen?
Hopf: Die Geo-Features sind ein sehr schönes Beispiel dafür, dass eine Suche mit Elasticsearch nicht nur auf Text arbeiten muss. Die Geo-Integration ermöglicht die Berechnung von Distanzen und die Sortierung und die Filterung danach. So können beispielsweise einfach Kleinanzeigen nach der Distanz zum Nutzer sortiert werden oder Restaurants in der Nähe angezeigt werden. Ein Anwendungsfall, bei dem man vielleicht nicht direkt an einen Suchserver denken würde.
Du bist selbst ja in der Java User Group Karlsruhe aktiv und organisierst das Search Meetup Karlsruhe. Was macht Ihr genau in diesem Search Meetup?
Hopf: Wir veranstalten beim Search Meetup alle zwei Monate ein Treffen, meist mit zwei Vorträgen. Auch dort spielt Elasticsearch natürlich eine große Rolle. Wir haben uns bei der Gründung allerdings dazu entschlossen, kein reines Elasticsearch-Meetup zu sein, wie momentan viele auch in Deutschland entstehen. Deshalb geht es bei uns auch um andere Lösungen wie beispielsweise Apache Solr. Was mich aber dann doch überrascht hat, ist, wie gut das Thema ankommt. Mittlerweile hatten wir schon Treffen mit über 70 Teilnehmern. Durch die Vielseitigkeit der Anwendungsfälle ist Suche für die unterschiedlichsten Leute interessant.
Aktuell ist Elasticsearch in der Version 1.4.2 zu haben. Wie sollte sich Elasticsearch deiner Meinung nach jetzt weiterentwickeln?
Hopf: Einer der großen Vorteile von Elasticsearch ist die leichte Bedienbarkeit. Damit dies auch in Zukunft so bleibt, sollte es weiterhin ein schlankes Produkt bleiben – Elasticsearch muss nicht jedes vorstellbare Feature integrieren.

Aufmacherbild: Illustration of Search Engine Bar and Finder Lens on Yellow Green Background. Glowing Technology Squares on Upper and Lower Sides von shutterstock.com / Urheberrecht: Crystal Eye Studio
Hinterlasse einen Kommentar