TYPO3 Solr Suche

Mit Apache Solr ist eine extrem leistungsfähige und flexible Suchfunktion für TYPO3 verfügbar: bessere Suchergebnisse in kürzester Zeit.
Ab dem PREMIUM Tarif ist bei uns die Solr Suchfunktion kostenlos enthalten.

Warum Apache Solr?

Logo des Apache Solr Lucene Projekts
Logo des Apache Solr Lucene Projekts

TYPO3 verfügt mit indexed_search bereits über eine einfache integrierte Suchfunktion. Die Solr-Suche ist eine extrem schnelle und leistungsfähige Alternative für bessere Suchergebnisse. Solr basiert auf dem Apache Lucene Projekt. Die Suche bietet u.a.:

  • Facettierte Suche (Filtern der Ergebnisse nach Kriterien, wie bei Amazon)
  • Ergebnisse schon beim Eingeben des Suchbegriffs vorschlagen
  • Vorschläge bei falsch geschriebenen Begriffen (meinten Sie...?)
  • Unterstützung vieler Sprachen
  • Feintuning der Suchergebnisse (z.B. Boost, Bevorzugung neuerer Inhalte)
  • Synomyme (Suche nach Handy liefert auch Ergebnisse mit Smartphone)
  • Stopwörter (für diese Wörter erscheint kein Ergebnis)
  • Suche im Inhalt von Dateien (über 100 Dateitypen)
  • und vieles mehr

Solr ist in Java programmiert und läuft in einem Servlet-Container (z.B. Jetty).

Solr für TYPO3

Für die Nutzung von Solr mit TYPO3 stehen einige Extensions zur Verfügung, z.B.:

  • die solr Extension bietet die Grundfunktionen
  • solr_geo ermöglicht die Referenzierung von Geodaten
  • solr_fal bietet den Zugriff auf Dateien in TYPO3 Version 6.2.x
  • mit der tika Extension können Dateiinhalte indexiert werden
  • solr_universal_boost ermöglicht die Veränderung von Suchergebnissen pro Suchbegriff

Neben der solr-Extension (und ggf. weiterer Erweiterungen) benötigt man pro Sprache einen "Core" auf einem Solr-Server. Ab dem Hosting Tarif PREMIUM sind zwei Cores (Sprachen) enthalten. Bei Bedarf können jeweils 5 weitere Cores für 10 Euro/Monat (inkl. Mwst.) hinzugebucht werden. 

Leistungsstarke Solr Server

Für die Solr Suche verwenden wir Hochleistungs-Server mit 32 GB RAM und SSD Speicher. Es sollte darauf geachtet werden, dass der Solr Server im gleichen Rechenzentrum wie steht wie der Webserver, um die Zeiten (Latenz) für die Übertragung der Daten sehr gering zu halten.

Besonders deutlich wird das bei der Live-Suche, bei der Suchergebnisse bereits beim Eingeben des Suchbegriffs vorgeschlagen werden.  

Keine versteckten Kosten

Für die Solr Suche haben wir eine Flatrate: wir rechnen nicht nach indexierten Dokumenten, Speicherplatz oder Zahl der Suchanfragen ab. So kann die Suchfunktion ab dem PREMIUM-Tarif ohne Mehrkosten genutzt werden. 

Solr Cores hier bestellen

Auf die richtige Version achten

Zu jeder Version der TYPO3 solr Extension gibt es eine passende Version des eigentlichen Solr Servers. Innerhalb einer Solr Version kann es dann noch unterschiedliche Varianten der schema.xml und Solrconfig.xml Dateien geben. 

In der Dokumentation der Solr Extension gibt es dazu eine praktische Versionsmatrix

Bei einem Update der solr Extension muss daher ggf. ein neuer, passender Solr Core angefordert werden. 

Grundkonfiguration

Für die Grundfunktion der Solr Suche wird nur die Extension solr benötigt, weitere Extensions für Zusatzfunktionen können später noch hinzugefügt werden. Je Webseiten-Sprache, die in TYPO3 konfiguriert ist, wird ein passender Solr Core benötigt. 

Auf der Root-Seite des Projekts muss in den Seiteneigenschaften auf dem Reiter Verhalten die Option "Als Anfang der Webseite benutzen" aktiviert sein.

Ebenfalls ist auf der Root-Seite ein Domain-Record erforderlich. Der Suchindex wird im Solr Core je Domain getrennt gespeichert, dafür wird ein Site-Hash erzeugt, der aus dem Domain Record gebildet wird.

Die Startseite muss in den Seiteneigenschaften festgelegt werden
Festlegen als Startseite in den Seiteneigenschaften
Für die Indexierung muss ein Domain Record auf der Root-Seite angelegt werden
Domain Record auf der Root-Seite

Statisches TypoScript Template

Die Solr Extension liefert eine Reihe von statischen TypoScript Templates mit. Hier muss im Root Template zumindest das Modul "Search - Base Configuration (solr)" eingebunden werden. 

Solr indexiert standardmäßig Seiten und die regulären Inhaltselemente. Extensions mit eigenen Datensätzen erfodern jeweils eine eigene Konfiguration per TypoScript. Für die Extensions news und tt_news werden entsprechende Beispiele bereits mitgeliefert, diese können auch als Beispiel für weitere Extensions dienen.

Verbindungsdaten zum Solr Server

Nach Bestellung eines Solr Cores für ein Hosting Paket erhält der Kunde von uns die entsprechenden Zugangsdaten. Diese können direkt per Copy/Paste übernommen werden. Hier ein Beispiel:

plugin.tx_solr.solr.host = 123456.solr-01.jweiland.net
plugin.tx_solr.solr.username = 123456
plugin.tx_solr.solr.password = geheim
plugin.tx_solr.solr.port = 443
plugin.tx_solr.solr.path = /solr/core_de/
plugin.tx_solr.solr.scheme = https

Dabei entspricht 123456 der Kundennummer, der Hostname kann ebenfalls variieren.
Mit 'scheme' wird festgelegt, dass die Verbindung zwischen TYPO3 und dem Solr Server über eine verschlüsselte Verbindung erfolgt.IO

In der Dokumentation zur Solr Extension sind alle Optionen für die TypoScript Konfiguration beschrieben.