Gesucht und gefunden!

    Daniel Pötzinger, CIO und Mitglied der Geschäftsführung von AOE media
    www.aoemedia.de, www.searchexperience.de
    Online-Suchtechnologie, XML-Daten, CSV-Daten, binäre Daten, strukturierte Daten

    Ein Kennzeichen moderner Online-Suchtechnologie ist unter anderem, Suchtreffer durch entsprechende Filter in passenden Kategorien so lange eingrenzen zu können, bis das gewünschte Ergebnis gefunden wird. Wer schon einmal auf großen Online-Shoppingportalen unterwegs war, kennt das Prinzip: Nachdem man das Suchwort eingegeben und ein paar Häkchen gesetzt hat, findet man im Idealfall in Nullkommanichts das richtige Angebot des bevorzugten Herstellers, in passender Größe und Lieblingsfarbe.

    Die Daten, auf welche diese so genannte facettierte Suche in Onlineshops oder auf Unternehmens-Websites zurückgreift, mussten jedoch bislang in strukturierter Form vom Seitenbetreiber bereitgestellt werden. Üblicherweise in Form von CSVoder XML-Tabellen. Der Aufwand für das Abstimmen, Erstellen und Aktualisieren eines geeigneten Exportformates ist jedoch oft aufwendig. Dass es auch anders geht, zeigt eine auf der Open Source-Suchmaschine Apache Solr basierende Lösung: Ein von AOE media entwickelter Crawler analysiert Webseiten-Inhalte aller Art – HTML, Dokumente, Bilder, Links oder Videos – automatisch und semantisch und führt die Suchtreffer in einer einheitlichen Ergebnisliste zusammen. Durch den Crawler können nicht nur Produkte, sondern auch News, Blogs etc. indexiert und durchsucht werden.

    Search as a Service

    Suchlogik und Auswertung sowie Administrations-Interface und Crawling laufen in einer Dedicated Private Cloud: Dort stehen dedizierte Server mit jeweils bis zu zwei Hexa-Core CPUs und 48GB Ram zur Verfügung. Durch das Auslagern der Suche in die Cloud entfallen Sorgen um IT-Ressourcen ebenso wie hohe Anfangsinvestitionen in eine geeignete Infrastruktur. Zudem wird die IT-Abteilung entlastet, da die Wartung der Hardware sowie Software-Updates in der Verantwortung des Anbieters liegen.

    Getreu dem cloudtypischen „Kosten nach Nutzen“-Prinzip fällt neben den einmaligen Setup-Kosten eine monatliche Gebühr an, die unter anderem von der zu durchsuchenden Dokumentenzahl und den Suchanfragen abhängig ist.

    Die Such-Architektur rund um Apache Solr

    Bild 1

    Der Crawler ist eine von drei Hauptbestandteilen der Such-Architektur [siehe Bild 1]. Er ist verantwortlich für das ständige Befüllen des entsprechend konfigurierten Solr-Suchindexes. Solr, eine Open Source Volltext-Suchmaschine, besteht im Wesentlichen aus einem Apache Lucene-Kern – der Klassen und Methoden für das Indexieren von Texten mitbringt – sowie Programmierschnittstellen für das Hinzufügen, Ändern oder Löschen von Dokumenten und die Ausgabe der Suchergebnisse in XML oder XSLT. Solr verfügt über einen skalierbaren Replikationsmechanismus für den Aufbau verteilter Indizes nach dem Master-Slave-Prinzip. Die Replikation sorgt für eine bessere Datenverteilung, optimiert den Suchanfrage-Prozess und beschleunigt so insgesamt die Suche bei hoher Auslastung: pro Index können zirka 1.000 Suchanfragen in der Sekunde verarbeitet werden. Solr erweitert Lucene um diverse Metainformationen, die über ein erweiterbares XML-Schema definiert sind und Beschreibungen von Feldern, Datentypen sowie Indexierungsinformationen enthalten. Weiterhin ergänzt Solr den Lucene-Funktionsumfang um Stoppwörter, Wortstammbildung, platzierte Suchergebnisse, Facetten, Caching, Replikation und vieles mehr. Dabei ist Solr kein neues Produkt; die Suchmaschine wird schon seit Jahren von Unternehmen mit hochfrequentierten Websites, z.B. von Apple, genutzt – jedoch immer mit strukturiert vorgehaltener Datenbasis.

    Der dritte Bestandteil der Lösung ist die Suchkomponente. Sie ist für die Verwaltung und Konfiguration der Suchfunktion (Admin-Bereich) und die Darstellung der Suchergebnisse (Frontend) verantwortlich. Bei Bedarf stehen auch CMS-Funktionen für die redaktionelle Gestaltung der Suchseiten zur Verfügung. Die Suche kann unkompliziert durch einen dreizeiligen Code in jedes beliebige CMS – ob kommerziell wie CoreMedia und OpenText oder frei wie TYPO3 und Alfresco – und in jeden beliebigen Webshop wie Magento oder Intershop eingebunden werden. Bei kritischen Anfragezahlen oder auch einer wachsenden Anzahl an Dokumenten wird die Suchkomponente ebenso wie der Solr-Index auf mehrere virtuelle Maschinen repliziert und per Lastverteilung performant betrieben.

    Mehrere Bots für verschiedene Quellen

    Der Crawler ist in der Lage, ohne Unterbrechung neue Informationen und Dokumente von beliebigen Seiten auszulesen, auszuwerten und dem Solr-Index über dessen Schnittstelle hinzuzufügen. Außer XML- und CSV-Eingabedaten werden auch eine Reihe von Binärformaten wie DOC, PPT, XLS und PDF akzeptiert. Für jede mögliche Quelle gibt es spezielle Crawler-Bots: Unter ihnen einer für das regelmäßige Einlesen von RSS-Feeds und – sicherlich der Wichtigste – ein Webseiten-Bot. Letzterer kann alle Inhalte einlesen und auswerten, die für den Anwender online verfügbar sind: So können auch Intranets, betrieben auf beliebigen Lösungen wie Sharepoint, Extranets, etc. in die Suche eingebunden werden.

    Bild 2

    Der Crawler erledigt seine Aufgabe in parallelen Prozessen [siehe Bild 2]: Die Crawler-Bots lesen bei der Konfiguration angegebene URLs sowie die Seiten hinter gefundenen Links aus und geben die Daten weiter an die Dokumentensammlung. An dieser Stelle würden in bisherigen Onsite-Suchprozessen vorgegebene strukturierte Daten eingelesen werden – was natürlich zusätzlich ebenfalls möglich ist. Ein individuell konfigurierbarer Indexer wertet einerseits die verschiedenen Dokumenteninhalte aus und bereitet sie für den Solr-Index vor – hier werden beispielsweise Produktpreis oder Farben ermittelt. Bei Bedarf werden sogar in Beziehung stehende Dokumente mit ausgewertet. Andererseits sammelt er die gefundenen internen und externen Links. Weitere zum Crawler zugehörige Tools verfolgen die Links und übernehmen das Füllen der URL-Queue, welche wie oben beschrieben die Datenbasis für die Crawler-Bots bildet. Diese Tools berechnen auch den seiteninternen Rankingwert.

    Navigation, Landingpages und Features im Admin-Bereich verwalten

    Im Admin-Bereich verwalten Seitenbetreiber ihre Suche. Via integriertem Open Source CMS (TYPO3) können dabei klassische Content Management-Funktionen in vollem Umfang genutzt werden: die redaktionelle Pflege von Navigationen, von speziellen Microsites oder Landingpages sowie die Header- und Footer-Bereiche der Suche. Darüber hinaus dient der Admin-Bereich dazu, Statistiken einzusehen, Synonyme und Stoppwörter anzugeben und Filter zu konfigurieren – beispielsweise den Produktpreis in verschiedenen Abstufungen anzuzeigen (sog. Rangefacetten). Auch auf die Dokumentensammlung kann über ihn zugegriffen werden. So lassen sich bestimmte URLs sperren oder über Boost-Faktoren verstärken, damit deren Inhalte im organischen Suchergebnis höher bewertet werden. Eine weitere mögliche Funktion ist das Einrichten von platzierten Suchergebnissen: bestimmte Inhalte werden hierbei als „Werbung“ neben oder über der Suchtrefferliste angezeigt.

    Das Frontend: Wer suchet, der findet!

    Beim Frontend handelt es sich in diesem Fall nicht um die komplette Website, sondern nur um die an das Weblayout bzw. Corporate Design angepasste Seite mit den Suchtreffern. Je nach Suchbegriff und Konfiguration des Admin-Bereichs werden

    • passende Filter ermittelt
    • platzierte Suchergebnisse angezeigt
    • alternative Suchbegriffe angeboten
    • Ergebnisse bereits beim Tippen eingeblendet (Livesearch)

    Um das Auto-Suggest – das Vorschlagen passender Wörter während der Eingabe des Suchbegriffs – auf allen Seiten zu verwenden, kann zusätzlich zum oben erwähnten Quellcode eine JavaScript-Datei auf der Seite eingebunden werden. Pro Suchanfrage laufen im Hintergrund zweierlei Aufrufe an den Index: einer für die native Suche, der andere für die platzierten Ergebnisse.

    Das Setup im Detail

    Um die Solr-Suche zu implementieren, gibt es einen typischen Ablauf von der Einrichtung bis zum laufenden Betrieb:

    1. Konfiguration des Crawlers
      Nach einem Briefing durch den Seitenbetreiber analysiert AOE media vorliegende Inhalte, die aus beliebig vielen Websites, Datenbanken oder Feeds stammen können, und teilt sie in Dokumententypen ein. Anschließend wird der Crawler entsprechend konfiguriert: Jeder Typ bekommt eine eigene Einstellung, die bestimmt, wie die Daten für den Solr-Index aufbereitet werden. Beispielsweise kann es einen Dokumententyp „Produkt-Kamera“ geben, zu dem die Produktbeschreibungen von Kameras gehören. Zu diesem Typ wird festgelegt, wo die Auflösung, die Farbe oder die Modellbezeichnung zu ermitteln sind. Außerdem werden Informationen wie das Boosting – also die Relevanz des Dokuments im organischen Suchergebnis – sowie verfügbare Vorschaubilder angegeben.
    2. Setup der Suchlösung
      a. Die Templates für das Suchfrontend werden eingerichtet.
      b. Die Suche wird im Admin-Bereich konfiguriert.
    3. Starten des Crawlings
      c. Die Start-URLs werden erstmalig initialisiert.
      d. Danach laufen die Bots regelmäßig und indexieren die angegebenen Quellen – beispielsweise nächtlich.
      e. Der Crawler besucht die Webseiten dabei regelmäßig, um aktuelle Inhalte und ggf. neu hinzugekommene Links auswerten zu können. Die Änderungshäufigkeit der Seiten wird dabei registriert, um Seiten, an denen es keine Änderungen gegeben hat, nicht unnötig oft abrufen zu müssen.

    Fazit

    Mit dieser Lösung steht Domaininhabern eine leistungsfähige, autonome und durch Cloud-Service unkompliziert einzurichtende Online-Suche für die eigene Unternehmens-Website oder den eigenen Online-Shop zur Verfügung – damit Besucher sofort finden, was sie suchen, und gerne wiederkommen.