Analyse von Suchanfragen mit Elasticsearch, Logstash und Kibana

von Florian Mutter

Für einen unserer Kunden haben wir ein Portal erstellt, das eine Suchemaschine nutzt. Im Laufe der Zeit sammelten sich einige Anforderungen des Kunden an, die sich auf die Suchmaschine und die Ergebnisse auswirkten. Es wurden z.B. alle Suchergebnisse nach dem Erstellungsdatum sortiert oder bestimmte Dokumententypen wurden standardmäßig aus der Suche ausgeschlossen. Zur Verbesserung der Qualität der Suchergebnisse haben wir die Verwendung der Suche und der Filter analysiert. Alle Suchanfragen wurden bisher schon in einer Log-Datei erfasst und können damit nachträglich analysiert werden. Um unserem Kunden zu zeigen, welches Potential in einer statistischen Auswertung steckt, haben wir mit ElasticsearchLogstash und Kibana 4 (dem sogenannten ELK-Stack) eine einfache Visualisierung der Suchanfragen erstellt.

Der erste Schritt ist Logstash so zu konfigurieren, dass es die Suchbegriffe aus den vorhandenen Log-Dateien extrahiert. In der Log-Datei wird die Solr-Query in URL-Form gespeichert. Mit dem urldecode- und dem kv-Filter von Logstash kann der Query-Teil einer URL zerlegt werden. Anschließend können mit den Filtern mutate und ruby die Suchbegriffe normalisiert und sortiert werden. Das ist hilfreich um unterschiedliche Suchbegriffe wie "2012 Reisekosten" und "reisekosten 2012" als eine Suche nach dem gleichen Begriff zu erkennen.

Logstash legt die Suchanfragen als Dokumente in Elasticsearch ab. Mit Kibana wird daraus ein ansehnliches Dashboard, das es einem einfach macht nach bestimmten Kriterien zu filtern. So kann z.B. der Zeitbereich interaktiv gewählt werden und alle Auswertungen aktualisieren sich sofort. Außerdem können alle Suchbegriffe angezeigt werden, bei denen ein bestimmter Filter in der Suche aktiviert war.

Kibana Dashboard
Zu sehen sind von links nach rechts:
Suchanfragen pro Tag, Dauer bis Suchanfrage beantwortet wurde
Häufigste Suchbegriffe, Verteilung der Suchanfragen auf Tageszeit, Gesamtzahl der Suchanfragen
 
Kibana 4 unterstützt außerdem Sub-Aggregationen, um z.B. die 5 häufigsten Suchbegriffe für einen Filter anzuzeigen. Auf den folgenden Grafiken sind für jeden der 20 häufigsten Filter jeweils die 5 häufigsten Suchbegriffe als unterschiedlich farbige Teile der Balken dargestellt. Es lässt sich ohne weitere Analyse feststellen, dass die drei häufigsten Filter signifikant oft mit nur einem einzigen Suchbegriff zusammen verwendet werden.
Kibana Visualisierung der häufigsten Filter mit den jeweils 5 häufigsten Suchbegriffen als Segmente der Balken
Als Tooltip werden Details zu den einzelnen Segmenten der Balken angezeigt. In diesem Fall einer der 5 häufigsten Suchbegriffe die zusammen mit dem beliebtesten Filter verwendet wurden.
Bewegt man die Maus über einen Suchbegriff, wird anschaulich gezeigt, bei welchen Filtern dieser unter den Top 5 ist

Mit Statistiken dieser Art kann sich der Kunde schnell einen Überblick verschaffen, wie die Suche benutzt wird, welche Begriffe häufig gesucht werden oder welche Filter nie verwendet werden. Durch die Verwendung von Elasticsearch, Logstash und Kibana ist es möglich, die Statistik ständig mit aktuellen Daten zu erweitern. So kann ohne weiteren Aufwand beobachtet werden, ob Änderungen an der Suche die gewünschten Auswirkungen zeigen.

Zurück

© 2006-2023 exensio GmbH
Einstellungen gespeichert

Datenschutzeinstellungen

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.

Sie können Ihre Einwilligung jederzeit ändern oder widerrufen, indem Sie auf den Link in der Datenschutzerklärung klicken.

Zu den gesetzlichen Rechenschaftspflichten gehört die Einwilligung (Opt-In) zu protokollieren und archivieren. Aus diesem Grund wird Ihre Opt-In Entscheidung in eine LOG-Datei geschrieben. In dieser Datei werden folgende Daten gespeichert:

 

  • IP-Adresse des Besuchers
  • Vom Besucher gewählte Datenschutzeinstellung (Privacy Level)
  • Datum und Zeit des Speicherns
  • Domain
You are using an outdated browser. The website may not be displayed correctly. Close