SOLR für TYPO3

Was ist SOLR?

SOLR ist eine Stand-Alone Suchmaschinen-Software, die als Open Source von der Apache Software Foundation entwickelt wird. MIt SOLR können Betreiber großer Websites den Besuchern eine leistungsstarke Suchfunktion anbieten. Dazu zählen neben der reinen Volltextsuche, das Autovervollständigen, Rechtschreibekorrekturen, Berücksichtigung von Synonymen und Wortstamm-Varianten, Rich-Content-Support(Suche in PDFs, Word-Dateien, etc.), Text-Highlightning sowie Facettierung. Des weiteren können bestimmte Bereiche der Website unterschiedlich gewichtet werden. So können z.B. die aktuellsten News-Beiträge am stärksten berücksichtigt werden.

Um SOLR nutzen zu können, benötigen Sie:

  • eine eigene SOLR-Instanz, die auf einem im Internet erreichbaren Server läuft
  • die TYPO3-Extension solr
  • für die Suche in Dateien(PDF etc.) die Extensions tika und solr_fal

Mehr Informationen zu SOLR unter: http://lucene.apache.org/solr/


TYPO3 Standardsuche indexed_search

Für kleine Webseiten bietet TYPO3 eine integrierte Suchfunktion: indexed_search. DIese ist einfach einzurichten und funktioniert auch zuverlässig. Eine Seite wird bei Ihrem erstmaligen Aufruf im Browser von der Extension indiziert. Dabei spielt es keine Rolle, ob es sich um normale Seiten, Einzelansichten von Extensions wie News oder auch die Ausgabe von eigenen Extensions handelt. indexed_search nimmt einfach alle auf der Seite ausgegebenen Wörter und Begriffe in entsprechende Tabellen der Datenbank auf. Sucht ein Besucher dann nach einem Begriff, werden alle Seiten, die diesen Begriff enthalten, im Suchergebnis angezeigt.

Für kleine Webseiten ist dies eine gute Möglichkeit, ohne großen Aufwand eine Suche zu implementieren, die alles findet, was auf der Webseite angezeigt wird.

Bei umfangreicheren Webseiten allerdings bremst indexed_search das System recht schnell aus. Die Tabellen können beim intensiven Einsatz von Veranstaltungsplugins, News etc. schnell sehr groß werden.

Zudem fehlen Funktionen, die es ermöglichen, die Suche benutzerfreundlicher und die Suchergebnisse aussagekräftiger zu machen: die Suche nach Kriterien (facettierte Suche), Unterstützung bei falsch geschriebenen Suchbegriffen (Meinen Sie ...), das Definieren von Stopwörtern (und, ist...), die in der Suche nicht berücksichtigt werden oder eine Gewichtung der Suchergebnisse (z. nach Aktualität oder Art des Eintrags) sind nicht möglich.

Grundsätzlich ist die Standardsuche von TYPO3 - da Sie eine reine Volltextsuche ist - nicht in der Lage, nach mehreren Begriffen zu suchen. Eine Suchanfrage "TYPO3 Agentur" würde daher nur die Stellen finden, in denen der Text exakt in der Reihenfolge steht. Seiten mit den Begriffen "Agenturen für TYPO3", "TYPO3 Internetagenturen" oder "Webagentur für TYPO3" würden zum Beispiel nicht berücksichtigt werden.


Technische Einrichtung der SOLR-Extension für TYPO3

Für die Einrichtung der TYPO3 Extension solr ist ein SOLR-Server erforderlich. Viele Provider bieten SOLR-Server - ähnlich wie das normale Webhosting - für eine monatliche Pauschale an.

Einrichten der Extension

Die Extension wird über den Extensionmanager in TYPO3 installiert und die Verbindung mit dem Solr-Core eingerichtet. Die verschiedenen Module für die Indizierung werden dann in Typoscript eingerichtet. 

Für mehrsprachige Webseiten wird für jede Sprache ein eigener Kern eingebunden, so dass die Konfiguration von Solr auf die jeweiige Sprache abgestimmt wird.

Für die Indizierung der Texte auf den Seiten und die News-Extension ist die Unterstützung in den Typoscript-Templates der Extension eingerichtet. Im HTML-Template müssen die Marker 

TYPO3SEARCH_begin und TYPO3SEARCH_end

eingebunden sein und die Indizierung auf der Webseite in Typoscript aktiviert sein.

config.index_enable = 1

Für alle andere Extensions wird die Indizierung per Typoscript konfiguriert. Die Suche geht direkt über die Datenbanktablellen. Dabei kann auch die Gewichtung der Suchergebnisse zwischen Seiten und  Extensions untereinander, aber auch die Gewichtung von verschiedenen Feldern wie Titel, Abstract und Text verändert werden und sogar die Gewichtung einzelner Tags angepasst werden. 

Die Indizierung erfolgt fortlaufend über einen Cronjob. Bei Änderungen an den Datensätzen wird der entsprechende Datensatz automatisch neu in die Index Queue gestellt, so dass die Suchergebnisse immer aktuell bleiben. Dabei werden zuerst die neusten Datensätze indiziert, so dass die Suche von Anfang an gute Ergebnisse liefert. 

Suchmaske und Ergebnisanzeige

Die Suchmaske bietet neben den Suchfeld verschiedene Unterstützungen. So kann über die facettierte Suche ausgewählt werden,dass z.B. nur Suchergebnisse aus den News oder Veranstaltungen angezeigt werden.

Schon bei der Eingabe des Suchbegriffs können mit Ajax Suchbegriffe vorgeschlagen werden, so dass der Benutzer den für ihn besten Begriff auswählen kann. Auch bei den Suchergebnisse kann ein Vorschlag für eine alternative Suche dem Benutzer helfen, seine Suchanfrage zu verbessern.

Die letzten oder besonders häufig eingegebene Suchbegriffe können angezeigt werden, so dass der Benutzer mit einem Klick die gewünschte Information erhält.

Die Suchergebnisse zeigen neben dem Titel der Seite auch mit einer Grafik an, wie relevant das Suchergebnis für den gesuchten Begriff ist. Im Teaser-Text wird der Suchbegriff hervorgehoben, nicht relevante Sätze werden ausgeklammert.So kann der Besucher leichter erkennen, ob die Seite wirklich den Suchbegriff im gewünschten Zusammenhang enthält. 


Indizierung von Dateien - SOLR noch besser!

Auch die Indizierung von pdf-Dateien(oder anderer Dateitypen) auf dem Server ist mit SOLR möglich. Hierfür werden die Extensions tika und solrfal eingebunden und konfiguriert. Dabei ist es natürlich wichtig, dass die Metadaten (Titel und Beschreibung) der pdf-Dateien richtig gesetzt sind, damit die Dateien in den Suchergebnissen vernünftig angezeigt werden. Auch die Indizierung der Dateien läuft über einen Cronjob. 

Für die Nutzung der Extension solrfal ist die Entrichtung einer einmaligen Entwicklungsbeteiligung(EB) erforderlich. Die EB ist in der Regel auf eine aktuelle LTS-Version(und alle darunter liegenden Versionen) einsetzbar. Bei einem Upgrade auf eine neue TYPO3-Version ist in der Regel wieder der Kauf einer neuen EB erforderlich.

Die EB beläuft sich - abhängig von Ihrem Alter - zwischen 800,-€ und 1.200,-€.

Die Invstitionen lohnen sich aber, zumal die Extension neben der Dateiindizierung weitere Vorteile mit sich bringt.

Mit solrfal


Fallbeispiele von TYPO3-Websites mit SOLR

Aus unserer eigenen Website haben wir u.a. auf folgenden TYPO3-Kundensites SOLR installiert:

Komplexe Suche über individuelle Tabellen

SOLR lässt sich auch so konfigurieren, dass über eigene Tabellen gesucht werden und dann eine eigene Ergebnisliste angezeigt werden kann. Diese Logik haben wir für die Kurs- und Terminsuche eines Kunden(www.vfb-weiterbildung.de) umgesetzt. Dabei muss eine Suche über eine Kurstabelle, die mit einer Tabelle für Termine verknüpft ist, durchgeführt werden. Im Suchergebnis sollen dann bestimmte Felder der beiden Tabellen(z.B. Kursbezeichnung, Preis, Beginn, Standort, etc.) angezeigt werden:


Preise & Kosten für die Einbindung von SOLR in TYPO3

Die folgende Tabelle zeigt eine beispielhafte Kostenkalkulation für die Integration der SOLR-Suche auf einer TYOP3-Website.

Unsere LeistungNon-ProfitKommerziell

Einbindung SOLR-Suchserver

  • Installation und Konfiguration der Extensions solr
  • Integration im Frontend(Customizing: Anpassung der Suchefunktion und Ergebnisse an das Layout)
  • Rechtschreibekorrektur(inkl.. Vorschlagslisten)
  • Facettierung / Filterung
  • Autocomplete/-suggest-Funktion
  • Gewichtung/Sortierung von Resultaten(Basismaßnahmen)
  • Aufwand: ca. 2 MT = 16 Std.
944,00 €1.104,00 €

Einbindung SOLR-Suchserver

  • Installation und Konfiguration der Extensions solr
  • Integration im Frontend(Customizing: Anpassung der Suchefunktion und Ergebnisse an das Layout)
  • Rechtschreibekorrektur(inkl.. Vorschlagslisten)
  • Facettierung / Filterung
  • Autocomplete/-suggest-Funktion
  • Gewichtung/Sortierung von Resultaten(Basismaßnahmen)
  • Aufwand: ca. 2 MT = 16 Std.
Non-Profit:944,00 €
Kommerziell:1.104,00 €

Zur Nutzung der SOLR-Suche ist ein eigener (virtueller) SOLR-Server erforderlich. Die Software hierfür ist zwar kostenlos(Open Source). Für Installation, Konfiguration und Betrieb sind jedoch vertiefte technische Kenntnisse erforderlich. Wir bieten unseren Kunden daher die Nutzung unserer leistungsfähigen SOLR-Server an.

Dabei fallen die folgenden Kosten an(für jede Sprache(deutsch, englsich, etc.) ist ein Kern erforderlich):

Unsere Leistung1. Kernjeder weitere Kern

Bereitstellung SOLR-Server(32MB pro Kern)

9,00 €/mtl.5,00 €/mtl.

Bereitstellung SOLR-Server(32MB pro Kern)
1. Kern9,00 €/mtl.
jeder weitere Kern5,00 €/mtl.