Wie richte ich Solr in TYPO3 ein?

Solr in deine TYPO3-Installation zu integrieren funktioniert ganz einfach.
Wie? Hier kommt der richtige Weg:

Verwendete Software: TYPO3 8.7, Solr 6.6, Solr Extension 8

Schritt 1

Zum Start brauchst du zwei Informationen:

1. Welche TYPO3-Version nutzen du?

Ein Blick in den Softwaremanager verrät es dir. Öffne dazu in deiner Projekte-Übersicht unter deinem
Projekt den Punkt Software.

Oder du schaust einfach direkt in dein TYPO3-Backend:

TYPO3 Backend mit Information über Version

2. Welche Solr-Version ist für dich im Einsatz?

Öffne in deiner Projekte-Übersicht die Leistungsübersicht – mit einem Klick auf deine Solr-Instanz. Dort siehst du die aktuelle Version.

Schritt 2

Nun wähle die zu deiner TYPO3- und Solr--Version passende Extension (EXT: solr) aus. Wirf dazu einen Blick in die Version Matrix von TYPO3.

Welche Solr-Extension du nutzt, hängt von deinem Wunsch nach Aktualität ab. Für diese Anleitung entscheiden wir uns für die Extension 8.0.

Ein Tipp

Du findest in der Version Matrix keine passende Extension? Dann brauchst du ein Update deiner Solr-Version.

Schritt 3

Nun benötigst du einen Kern mit der passenden Konfigurationsvorlage. Öffne dazu in deiner Projekte-Übersicht unter deiner Solr-Instanz „Solr …“ den Punkt „Kern hinzufügen“.

Gib den Namen und bei Bedarf auch eine Notiz für deinen Solr-Kern ein. Wähle dann deine Konfigurationsvorlage und Sprache aus – passend zu deiner Webseite. Nun noch den Arbeitsspeicher passend zu den Inhalten deiner Webseite eingeben und dann einen neuen Kern mit einem Klick auf „speichern“ anlegen

Hier ein paar Tipps

  • Notiz: Trage zum Beispiel dein Projekt (pxxxxx) ein, für den du den Solr-Kern nutzen möchtest.
  • Konfigurationsvorlage: Deine gewünschte Vorlage erscheint nicht im Dropdown-Feld? Dann gehe noch einmal zurück zu Schritt 1 – hast du dort die richtige Solr-Version ausgewählt?
  • Sprache: Für eine mehrsprachige Webseite empfehlen wir dir jeweils einen eigenen Kern pro Sprache. Übrigens: Nutze gerne pro Webseite mindestens einen Kern.

Schritt 4

Im nächsten Schritt bindest du die Solr-Extension in dein TYPO3 ein. Und das geht so:

  • Öffne in deinem TYPO3 Backend unter „Adminwerkzeuge“ den Punkt „Erweiterungen“.
Ausgewählter Menüpunkt "Erweiterungen" im TYPO3-Backend mit Möglichkeit, TYPO3-Extension hinzuzufügen
  • Wähle oben im Dropdown-Feld „Erweiterungen hinzufügen“ aus und suche über das Textfeld deine Solr-Extension „Apache Solr for TYPO3“.
Installation der Solr-Extension im TYPO3 Backend
  • Installiere die Extension mit einem Klick auf das Wolken-Symbol.
  • Wenn alles funktioniert hat, siehst du im Menü deines TYPO3 Backend den Punkt “APACHE SOLR“.

Ein Tipp

Du erhälst bei der Installation die Frage, ob die Abhängigkeiten zu „Scheduler“ aufgelöst werden sollen? Bestätigen dies!

Schritt 5

Konfiguriere nun deine TYPO3-Seite für Solr. Klicke dazu unter „APACHE SOLR“ auf „Info“ und dann auf die oberste Root-Page (Weltkugel) in deinem Verzeichnis. Dort siehst du, welche Konfigurationen nötig sind.

Anzeige der benötigten Solr-Konfigurationen unter "Info" unter dem Reiter "Apache Solr"

Schritt 6

Führe nun die einzelnen Konfigurationen durch. In unserem Beispiel sind es diese:

Domain Record erstellen

Gehe über „Liste“ --> „Root Page“ (Weltkugel) und klicke oben auf das Plus-Symbol „Neuen Datensatz erstellen“. Trage dann unter „Systemdatensätze“ --> „Domäne“ deine Domain ein und bestätige diese mit einem Klick auf „Speichern".

Ausgewählter Menüpunkt "Liste" im TYPO3-Backend sowie Auswahl des Systemdatensatzes "Domäne"

Root Page

Leg deine Webseite in TYPO3 als „Root Page“ (Weltkugel) an. Klicke dazu auf „Liste“ und dann mit der rechten Maustaste auf deine Webseite. Weiter geht es mit „Bearbeiten“ --> „Verhalten“. Nun setze einfach unter „Sonstige“ einen Haken bei „Als Anfang der Webseite nutzen“ und bestätige dies mit „Speichern“. Das war‘s.

TypoScript konfigurieren

Deine Solr-Extension muss wissen, zu welchem Host sie eine Verbindung aufbauen soll.

  • Öffne dazu die Template-Werkzeuge über „Template“ --> „Root Page“ --> „vollständigen Template-Datensatz bearbeiten“.
Ausgewählter Menüpunkt "Template" im TYPO3-Backend
  • Füge unter dem Reiter „Allgemein“ folgenden Code zu deiner „Konstanten“ hinzu:
plugin.tx_solr {
     solr {
        scheme = https
        host = solr1234:MEIN-PASSWORTsolr1234.solr-hosting.info
        port = 443
        path = /blog/
    }
}

Hierzu drei wichtige Punkte

  1. Trage in der Zeile „host“ bitte deinen Host und dein Passwort statt „solr1234:MEIN-PASSWORT@solr1234” ein. Nur so weiß die Solr-Extension mit welchem Host sie verbinden soll.
  2. Verzichte bei deinem Passwort auf folgende Sonderzeichen „#, ?, $, @“.
  3. Gib in der Zeile „path“ den Namen deines Solr-Kerns ein.
  4. Bei Setup fügen wir dann noch folgenden Code hinzu:
page.config.index_enable = 1
  • Öffne dann den Reiter „Enthält“ und klicke in der Liste „Verfügbare Objekte“ auf den Punkt „Search – Base Configuration (solr)“. Damit erweiterst du dein Template um das statische Template deiner Solr-Extension.
Erweitern eines bestehenden Templates um ein Solr-Template unter dem Reiter "Enthält"
  • Mit einem Klick auf „Speichern“ bestätige die beiden neuen Konfigurationen.

Schritt 7

Klappt die Verbindung zu deiner Solr-Instanz mit den neuen Konstanten? Hier ein Test:

  • Klicke auf den „Blitz“ plus „Initialize Solr connections“. Im Hintergrund baut sich dann die Verbindung auf.

War die Verbindung erfolgreich? Ein Klick auf „APACHE SOLR“ --> „Info“ gibt dir die Antwort. Sie lautet „Ja“, wenn du dort das siehst:

Bestätigungsnachricht, dass erfolgreich eine Verbindung zu Apache Solr Servern hergestellt wurde

War die Verbindung nicht erfolgreich? Dann siehst du den Fehler in deinen Statusberichten. Öffne dazu in deinem TYPO3-Menü den Punkt „Berichte“ --> "Statusberichte".

Schritt 8

Nun geht es zum Indexieren des Webseiten-Inhalts.

  • Öffne im Menü den Punkt „Index Queue“ und füge den Inhalt hinzu: Häkchen an „Alle umschalten“ und Klick auf „Queue Selected Content for Indexing“.
Initialisierung aller Seiten Indizes
  • Starte die Indexierung dann mit einem Klick auf „Index now“ im nächsten Fenster.
Anzeige des Status der Index Queue und Möglichkeit, die Indizes jetzt zu indexieren

Alternativ über "Scheduler"

Du möchtest deine Webseite gerne über „Scheduler“ indexieren? Dazu liefert die Solr-Extension den Job „Index Queue Worker“. Und so geht es:

  • Wähle den Job „Index Queue Worker“ unter „Klasse“ aus.
  • Wähle als Typ „wiederkehrend“.
  • Gib eine Startzeit ein.
  • Definiere unter „Häufigkeit“ das Intervall der Laufzeit – zum Beispiel alle 3.600 Sekunden.
  • Wähle als Webseite deine „Root Page“ aus.
  • Lege nun noch fest, wie viele Dokumente pro Durchlauf du indexieren möchtest.
Indexierung der Website über Scheduler-Formular
  • Mit einem Klick auf „Speichern“ lässt du Scheduler den neuen Job erledigen.

Schritt 9

In einem letzten Schritt integrierst du die Suche in deine Webseite.

  • Öffne in dem TYPO3-Menü den Punkt „Seite“ und klicke auf das „Plus-Symbol“.
Ausgewählter Menüpunkt "Seite" im TYPO3-Backend
  • Zieh nun eine Standardseite (leeres Blatt) in die gleiche Ebene wie „Home“ und vergib einen Namen – zum Beispiel „Suche“.
Ausgewählte leere Seite im Seitenbaum, bei der das Plugin "Search" hinzugefügt wird
  • Füge das Inhaltselement "Search" hinzu: "Suche" --> "Inhalt" --> "Plug-Ins" --> "Search" --> "Speichern".
  • Damit deine Suche sichtbar wird, klicke mit der rechten Maustaste noch einmal auf "Suche" und dann auf "Aktivieren".
  • Jetzt noch den Cache leeren mit einem Klick auf das Blitz-Symbol – fertig.

    Siehst du die Suche nun auf deiner Webseite? Wunderbar, dann hat alles klappt.
Suchleiste im TYPO3 Frontend

Ergebnisse:

Suchleiste auf TYPO3 Webseite mit Anzeige von Ergebnissen

Ein Tipp

Solltest du auf der Ergebnis Seite keinen Content angezeigt bekommen, stelle sicher, dass die TYPO3SEARCH subparts gesetzt sind.
Wenn dies nicht der Fall ist, muss du diese im Template setzen.

<!--TYPO3SEARCH_begin-->
Content-Div
<!--TYPO3SEARCH_end-->