SOLR für TYPO3

Letzte Änderung:

Die SOLR-Suche ermöglicht u.a. Autosuggest, Fehlerkorrektur, Synonymberücksichtigung, Bildersuche und die Suche innerhalb von PDF-Dateien. Sie verbessert die User Experience, schafft einen echten Mehrwert für Besucher und verbessert dadurch implizit das Ranking in Suchmaschinen.

Mit dem Modul “Learning To Rank” (LTR) sind auch KI-basierte Features für noch bessere Suchergebnisse möglich. 

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 Website-Betreiber 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/

 

SOLR und Datenschutz

Bei der TYPO3-Extension "solr" erfolgt der Datenverkehr typischerweise über den Webserver und nicht direkt vom Besucherbrowser zum Solr-Server:

  1. Anfrage vom Browser: Der Benutzer sendet eine Suchanfrage über die TYPO3-Website.
  2. Verarbeitung durch TYPO3: TYPO3 empfängt die Anfrage und verarbeitet sie mithilfe der "solr"-Extension. TYPO3 agiert als Vermittler und führt die eigentliche Kommunikation mit dem Solr-Server durch.
  3. Kommunikation mit dem Solr-Server: TYPO3, das auf dem Webserver läuft, sendet die Suchanfrage an den Solr-Server. Der Webserver übernimmt die gesamte Kommunikation mit Solr.
  4. Antwort von Solr: Der Solr-Server verarbeitet die Suchanfrage und sendet die Suchergebnisse zurück an den Webserver.
  5. Bereitstellung der Ergebnisse: TYPO3 nimmt die Suchergebnisse vom Solr-Server entgegen, verarbeitet sie weiter (z.B. formatiert sie) und sendet die fertige Antwort zurück an den Browser des Benutzers.

Diese Architektur hat mehrere Vorteile:

  • Sicherheit: Der direkte Zugriff auf den Solr-Server wird vermieden, was potenzielle Sicherheitsrisiken verringert.
  • Kontrolle: Der Webserver kann alle Anfragen überwachen, protokollieren und gegebenenfalls filtern, bevor sie an den Solr-Server weitergeleitet werden.
  • Konsistenz: Die Suchanfragen und Ergebnisse können durch TYPO3 angepasst und erweitert werden, bevor sie an den Benutzer zurückgegeben werden.

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 Stoppwö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.

HINWEIS:

Die TYPO3 Association weist darauf hin, dass indexed_search bei Websites mit vielen Einzelseiten, Lastprobleme auf dem Server(vor allem bei Datenbanken) verursachen können:

https://docs.typo3.org/c/typo3/cms-indexed-search/main/en-us/KnownProblems/Index.html

Aus eigener Erfahrung können wir das bestätigen.


Technische Aspekte 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.

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

Die Indizierung erfolgt fortlaufend über einen Cronjob (in TYPO3 der Scheduler). 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 dem 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. 

Weitere technische Artikel:


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 Investitionen lohnen sich aber, zumal die Extension neben der Dateiindizierung weitere Vorteile mit sich bringt.

Mit solrfal

  • kann in beliebigen Dateien auf der Website gesucht werden
  • lässt sich die Indizierung im TYPO3 Backend verwalten
  • kann man "Beliebteste Suchen" anzeigen
  • bietet sich dem User die Funktion "kürzlich gesucht"
  • unterstützt "Paid Results"
  • bietet Suchstatistiken

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 Leistung Kosten*

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. 16 Std.
 

Non-Profit-Organisationen:
mit SLA: 16 * 79,00 € = 1.264,00 €
ohne SLA: 16 * 89,00 € = 1.424,00 €
 

Unternehmen:
mit SLA: 16 * 89,00 € = 1.424,00 €
ohne SLA: 16 * 99,00 € = 1.584,00 €

* sämtliche Preisangaben gelten zzgl. der gesetzlichen MwSt.

Einbindung SOLR-Suchserver

Kosten*

Aufwand: ca. 16 Std.
 

Non-Profit-Organisationen:
mit SLA: 16 * 89,00 € = 1.424,00 €
ohne SLA: 16 * 89,00 € = 1.424,00 €
 

Unternehmen:
mit SLA: 16 * 99,00 € = 1.584,00 €
ohne SLA: 16 * 99,00 € = 1.584,00 €

* sämtliche Preisangaben gelten zzgl. der gesetzlichen MwSt.

  • 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)

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 Leistung 1. Kern jeder weitere Kern

Bereitstellung SOLR-Server (32MB pro Kern)

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

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

Externe Ressourcen

Versionsmatrix (welche Versionen sind kompatibel miteinander): https://docs.typo3.org/p/apache-solr-for-typo3/solr/11.0/en-us/Appendix/VersionMatrix.html