Solr in TYPO3 einrichten

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

Softwareübersicht im Softwaremanager mit TYPO3 Installation
Softwareübersicht im Softwaremanager mit TYPO3 Installation

Zum Start brauchst du zwei Informationen:

1. Welche TYPO3-Version nutzt du? Ein Blick in den Softwaremanager verrät es dir. Öffne dazu in deiner Projektverwaltung unter dem gewünschten Projekt den Punkt Tools --> Softwaremanager.

Schritt 2

TYPO3 Backend mit Information über Version
TYPO3 Backend mit Information über Version

Oder schaue einfach direkt in dein TYPO3-Backend.
 

Schritt 3

Übersicht über Solr-Instanz und Solr-Kerne
Übersicht über Solr-Instanz und Solr-Kerne

2. Welche Solr-Version ist für dich im Einsatz? Öffne in deiner Projektverwaltung die Leistungsübersicht – mit einem Klick auf deine Solr-Instanz. Dort siehst du die aktuelle Version.

Schritt 4

Version Matrix in TYPO3 mit Übersicht über passende Extensions für Solr-Version
Version Matrix in TYPO3 mit Übersicht über passende Extensions für Solr-Version

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.
 

Schritt 5

Glühbirne Icon
Glühbirne Icon

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

Schritt 6

Formular zum Anlegen eines neuen Solr-Kerns mit verschiedenen Konfigurationsmöglichkeiten (Name, Auswahl der Vorlage und Sprache)
Formular zum Anlegen eines neuen Solr-Kerns mit verschiedenen Konfigurationsmöglichkeiten (Name, Auswahl der Vorlage und Sprache)

Nun benötigst du einen Kern mit der passenden Konfigurationsvorlage. Öffne dazu in deiner Projektverwaltung 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 den neuen Kern mit einem Klick auf „speichern“ anlegen.

Hier ein paar Tipps:

  • Notiz: Trage zum Beispiel die Projekt Bezeichnung (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 7

Ausgewählter Menüpunkt "Erweiterungen" im TYPO3-Backend mit Möglichkeit, TYPO3-Extension hinzuzufügen
Ausgewählter Menüpunkt "Erweiterungen" im TYPO3-Backend mit Möglichkeit, TYPO3-Extension hinzuzufügen

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“.

Schritt 8

Installation der Solr-Extension im TYPO3 Backend
Installation der Solr-Extension im TYPO3 Backend
  • Wähle oben im Dropdown-Feld „Erweiterungen hinzufügen“ aus und suche über das Textfeld deine Solr-Extension „Apache Solr for TYPO3“.
  • 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“.

Schritt 9

Glühbirne Icon
Glühbirne Icon

Ein Tipp:
Du erhältst bei der Installation die Frage, ob die Abhängigkeiten zu „Scheduler“ aufgelöst werden sollen? Bestätige dies!

 

Schritt 10

Ausgewählter Menüpunkt "Info" unter "Apache Solr" im TYPO3-Backend und Auswahl der Root-Page mit Info, welche Konfigurationen nötig sind
Ausgewählter Menüpunkt "Info" unter "Apache Solr" im TYPO3-Backend und Auswahl der Root-Page mit Info, welche Konfigurationen nötig sind

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.

Schritt 11

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

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".

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. 

TypoSkript 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“.
  • Füge unter dem Reiter „Allgemein“ folgenden Code zu den „Konstanten“ hinzu:
plugin.tx_solr {
     solr {
        scheme = https
        host = solr1234:MEIN-PASSWORT@solr1234.solr-hosting.info
        port = 443
        path = /blog/
    }
}

Hierzu wichtige Punkte:

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.

Verzichte bei deinem Passwort auf folgende Sonderzeichen „#, ?, $, @“.

Gib in der Zeile „path“ den Namen deines Solr-Kerns ein.

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.
  • Mit einem Klick auf „Speichern“ bestätige deine beiden neuen Konfigurationen.

Schritt 12

Veröffentlichungsoptionen im TYPO3-Backend mit Möglichkeit, die Solr-Verbindung zu initialisieren
Veröffentlichungsoptionen im TYPO3-Backend mit Möglichkeit, die Solr-Verbindung zu initialisieren

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

  • Klick 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. War die Verbindung nicht erfolgreich? Dann siehst du den Fehler in den Statusberichten. Öffne dazu in deinem TYPO3-Menü den Punkt „Berichte“ --> "Statusberichte".

Schritt 13

Initialisieren der TYPO3 Index Queue mit Möglichkeit, alle umzuschalten
Initialisieren der TYPO3 Index Queue mit Möglichkeit, alle umzuschalten

Nun geht es zum Indexieren deiner Webseiten-Inhalts.

  • Öffne in deinem Menü den Punkt „Index Queue“ und füge den Inhalt hinzu: Häkchen an „Alle umschalten“ und Klick auf „Queue Selected Content for Indexing“.
  • Starte die Indexierung dann mit einem Klick auf „Index now“ im nächsten Fenster.

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.

Mit einem Klick auf „Speichern“ lässt du Scheduler den neuen Job erledigen.

Schritt 14

Ausgewählter Menüpunkt "Seite" im TYPO3-Backend
Ausgewählter Menüpunkt "Seite" im TYPO3-Backend

Nun benötigst du einen Kern mit der passenden Konfigurationsvorlage. Öffne dazu in deiner Projektverwaltung 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 den 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 geh 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 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 Projektverwaltung unter deinem
    Projekt den Punkt Tools --> Softwaremanager.
Softwareübersicht im Softwaremanager mit TYPO3 Installation
Softwareübersicht im Softwaremanager mit TYPO3 Installation

Oder du schaust einfach direkt in dein TYPO3-Backend:

 

TYPO3 Backend mit Information über Version
TYPO3 Backend mit Information über Version

2. Welche Solr-Version ist für dich im Einsatz? Öffne in deiner Projektverwaltung die Leistungsübersicht – mit einem Klick auf deine Solr-Instanz.      Dort siehst du die aktuelle Version.

Übersicht über Solr-Instanz und Solr-Kerne
Übersicht über Solr-Instanz und Solr-Kerne

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:

Version Matrix in TYPO3 mit Übersicht über passende Extensions für Solr-Version
Version Matrix in TYPO3 mit Übersicht über passende Extensions für Solr-Version

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 Projektverwaltung 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

Formular zum Anlegen eines neuen Solr-Kerns mit verschiedenen Konfigurationsmöglichkeiten (Name, Auswahl der Vorlage und Sprache)
Formular zum Anlegen eines neuen Solr-Kerns mit verschiedenen Konfigurationsmöglichkeiten (Name, Auswahl der Vorlage und Sprache)

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
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
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"
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"
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.

typoskript 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
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-PASSWORT@solr1234.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"
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
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
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
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
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
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
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
Suchleiste im TYPO3 Frontend

Ergebnisse:

Suchleiste auf TYPO3 Webseite mit Anzeige von Ergebnissen
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-->