Technische Umsetzung einer Onsite-Suche mit Solr

Technische Umsetzung einer Onsite-Suche mit Solr

Viele Argumente sprechen für die Investition in eine moderne Onsite-Suche: Steigerung der Conversion Rate, verbesserte User Experience und zufriedene Website-Nutzerinnen und -Nutzer. Doch mit welcher Software lässt sich eine Suchfunktion, die mehr bietet als nur eine einfache Volltext­suche, technisch realisieren? Wer eine lizenz­kostenfreie Variante mit umfangreichen Möglich­keiten für die Programmierung sucht, sollte sich "Apache Solr" genauer anschauen.

Individuelle Ausgestaltung der Onsite-Suche mit Solr 

Absoluter Pluspunkt der Solr-Suchmaschine ist die mächtige Abfrage­sprache, mit der sich die gewünschten Service­­funktionen nach eigenen Anforderungen programmieren lassen. Sowohl eine einfache Suchmaschine mit Basis­funktionen (etwa für klassische Nachrichten­seiten) als auch ein umfangreiches Recherche­instrument mit ergänzenden Service­funktionen (beispiels­weise auf Websites von Universitäten oder Bibliotheken) lässt sich mit verhältnis­mäßig geringem Aufwand umsetzen.

Da die Anforderungen an eine moderne Such­maschine und die Möglich­keiten mit Solr so vielfältig sind, sollte schon in der Konzeptions­phase genau geplant werden, welche Features für die eigene Ziel­setzung zweck­dienlich sind und welche nicht. - Nicht alles, was technisch machbar ist, sollte auch umgesetzt werden. Zu den Basis­funktionen, die jede moderne Onsite-Suche bieten sollte, zählen eine Vorschlags­funktion (Type Ahead), eine Rechtschreib­korrektur sowie Filter und Facettierungen für differenzierte und mehrstufige Such­möglich­keiten. 

Gewichtung und redaktionelle Priorisierung mit Solr

Für Suchmaschinen, die auf sehr große und dynamische Daten­mengen angewendet werden, bietet Apache Solr zusätzliche Programmier­möglich­keiten, die eine gewichtete Anzeige der Ergebnisse erlauben. So kann beispiels­weise fest­gelegt werden, dass Beiträge und Dokumente, die besonders häufig aufgerufen wurden, prominenter angezeigt werden. Dadurch werden Inhalte, die sich als hilfreich erwiesen haben, weiteren Nutzerinnen und Nutzern zugänglich gemacht. Um zu verhindern, dass dadurch nur Beiträge angezeigt werden, die aufgrund ihres Alters eine hohe Klickzahl vorweisen, greift als korrigierender Faktor die Aktualität des Dokumentes ein.

Auch redaktionell beeinfluss­bare Gewichtungen sind mit der Solr-Such­maschine möglich. Zum einen lässt sich für einzelne Beiträge ein Gewichtungs­faktor bestimmen, sodass ihre Bedeutung künstlich erhöht wird und sie eine bessere Position in der Treffer­liste erhalten. Als Steigerung dieser Priorisierung steht die sogenannte Elevation-Funktion zur Verfügung. Darüber kann festgelegt werden, dass ein bestimmter Beitrag bei bestimmten Such­begriffen grundsätz­lich in einer Top-Position dargestellt wird. Nur wenn die genannten Solr-Funktionen optimal in das jeweilige Content Management System integriert sind, lässt sich ein effizienter Workflow etablieren.

Anhand bereits verwendeter Suchphrasen können Treffer­listen optimiert und Listen mit Synonymen gepflegt werden. Auf diese Weise erhalten externe Nutzerinnen und Nutzer Zugang zu Fachbegriffen und unternehmens­­spezifischen Bezeichnungen. Ein simples Beispiel: Wer einen Kühlschrank kaufen möchte, wird in das Suchfeld auf der Website des Herstellers voraus­sichtlich "Kühlschrank" eingeben. Da der offizielle Begriff bei einigen Anbietern aber "Kühlgerät" ist, würde eine schlecht programmierte Suche keine Treffer liefern. Durch eine entsprechende Synonym­pflege weiß die Suchmaschine, wonach der Nutzer sucht und wird passende Treffer anzeigen. Auch hier gilt: Eine effiziente Pflege ist nur auf Basis einer gelungenen CMS-Integration möglich.

Einbinden der Such­ergebnisse als RSS-Feed

Mit der reinen Suchabfrage sind die Möglich­keiten von Apache Solr noch nicht ausgeschöpft. Dank zahlreicher Schnitt­stellen lassen sich die Such­abfragen relativ problemlos in andere Websites einbinden. Dort können die Ergebnis­listen nach eigenen Wünschen angezeigt werden, beispielsweise eine automatisierte Liste der zehn neuesten Beiträge zu einem bestimmten Thema. Aus technischer Sicht handelt es sich um nichts weiter als einen RSS-Feed, der auch zur inhaltlichen Personalisierung einer Webseite verwendet werden kann. Ein einfaches Beispiel ist die Ausgabe weiterführender multi­medialer Inhalte oder News, die zur Verschlag­wortung eines Artikels passen.

Technische Basis von Solr

Wie bei jeder Such­maschine ist auch bei Solr der Index die Grund­lage für alle weiteren Such­anfragen, Auswer­tungen, Gewichtungen etc. Um Inhalte in den Index zu bekommen, gibt es grund­sätzlich zwei Varianten: Crawling und Push-Indizierung. Der erst­genannte Weg wird besonders erfolgreich vom Such­maschinen­giganten Google genutzt, der regel­mäßig den "Googlebot" durch das Internet schickt, um neue Inhalte zu finden und zu indexieren. Das Crawling eignet sich vor allem für die Indexierung externer Websites und Daten; für Solr wird es mit der Software Nutch realisiert. Wird die Such­funktion vorrangig für Inhalte der eigenen Website oder einer internen Anwendung verwendet, bietet sich die Push-Indizierung an, die je nach technischer Plattform in die Solr-Schnittstellen integriert wird. Neue Inhalte werden automatisch an den Solr-Index weiter­gegeben und dort für kommende Such­anfragen zur Verfügung gestellt.

Für die initiale Einrichtung von Solr bietet es sich an, auf das Fach­wissen von Software­entwicklern zurück­zugreifen, wobei der benötigte Zeit­aufwand stark von den eigenen Anforderungen abhängig ist. Während Such­maschinen mit geringem Funktions­umfang verhältnis­mäßig schnell umgesetzt werden können, bringen zusätzliche Service­funktionen größeren Aufwand mit sich. Bei umfang­reicher Nutzung und vielen Anforderungen sollte zuerst ein ausgereiftes inhaltliches Konzept erstellt werden. Sobald die einmalige Einrichtung der Solr-Suchmaschine abgeschlossen ist, reduziert sich der Pflege­aufwand. Nur für redaktionelle Gewichtungen und Priorisierungen sind regelmäßige Anpassungen notwendig. Diese können allerdings problemlos ohne Programmier­kenntnisse umgesetzt werden.

Fazit: Die Onsite-Suche mit Solr bietet großen Nutzen bei überschau­barem Aufwand

Lizenzkostenfrei, umfang­reiche Programmier­möglich­keiten, geringer Pflege­aufwand - Mit diesen drei Aspekten punktet die Solr-Suchmaschine von Apache und drängt sich als Lösung für die Einrichtung einer Onsite-Suche auf. Selbst­verständlich gibt es auch alternative Programme, etwa ElasticSearch oder die kosten­pflichtigen Tools Intrafind und Google Search Appliance, aber die Projekt­erfahrung zeigt, dass mit Solr schöne Ergebnisse erzielt werden können. Wer mit dem Gedanken spielt, die Onsite-Suche zu optimieren, sollte Apache Solr definitiv in Erwägung ziehen.

Welche Lösung ist die Richtige?

Bei einer kosten­losen Erst­beratung geben wir Ihnen einen Über­blick über aktuelle Technologien zur Realisierung einer Onsite-Suche für Ihre Website.

Lesedauer: 4 Minuten
Kategorie
Technologie
Schlagwort
Onsite-SucheSolrApache
Autor
Tilman Issing ist Gründer von Pinuts und teilt sein Wissen regelmäßig im Pinuts-Blog.
Tilman Issing
Gründer & Geschäftsführer

Tilman ist Gründer von Pinuts und leidenschaftlicher IT-Experte. Immer wenn er etwas Zeit findet, gibt er im Blog sein Wissen weiter - meist mit Fokus auf technische Fragestellungen.