Anleitung: Installation Apache Solr für TYPO3

Hier beschreiben wir die Installation der TYPO3 Solr Suche bei unseren Hostingpaketen. Die Installation weicht in einigen Punkten von der offiziellen Dokumentation ab. Einerseits ist der Solr Server bereits fertig installiert. Er läuft jedoch auf physikalisch getrennten Servern, so dass die Indexierung teilweise anders implementiert ist. 

Zugangsdaten anfordern

Für den Zugriff auf die Solr Server von jweiland.net müssen zunächst mit diesem Formular Zugangsdaten angefordert werden. Diese werden für die TypoScript Konfiguration benötigt.  

Extensions für Solr Suche installieren

Für die Solr Suche bei jweiland.net kann sowohl die TER-Version (derzeit Version 1.3.0) als auch die EAP-Version (Version 2.5) der Solr Extension verwendet werden. Die EAP (Early Access Program) Version der Extension kann bei über angefordert werden (Preis auf Anfrage). 

Die Solr Extension benötigt die Extensions devlog und pagebrowse, diese müssen ebenfalls installiert werden. 

Im TypoScript Template wird dann noch das mitgelierte TS-Modul eingebunden:

Das mitgelieferte TypoScript Template der Solr Extension muss eingebunden werden

Rootpage und Domain festlegen

Sofern noch nicht geschehen, muss noch die Startseite eines Projekts in den Seiteneigenschaften (Reiter "Verhalten") festgelegt werden. Im Seitenbaum ändert sich dann das Seitensymbol zur Weltkugel.

Zusätzlich muss der Startseite in der Listenansicht ein Domain-Datensatz hinzugefügt werden. 

Achtung: bei Verwendung von RealURL mit der Option Autokonfiguration sollte vorher die Datei typo3conf/realurl_autoconf.php gesichert werden, da diese beim Einfügen bzw. Ändern von Domain-Datensätzen gelöscht wird. Empfohlen wird, die Datei in realurl_conf.php umzubenennen und die Autokonfiguration zu deaktivieren.

Suchformular erstellen bzw. anpassen

Mit dem folgenden Beispielcode kann ein Suchformular auf der Webseite eingebaut werden:

<form action="URL-ZUR-SUCHSEITE" method="get">
  <input type="text" value="Solr Suche" name="tx_solr[q]" onfocus="this.value=''" class="tx-solr-q ui-autocomplete-input menu-searchfields" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true">
  <input type="hidden" value="ID-DER-SUCHSEITE" name="id">
  <input type="hidden" value="SPRACHPARAMETER" name="L">  
  <input class="searchsubmit" type="image" src="clear.gif" alt="Start" title="Start Suche" />
</form>

Dabei müssen folgende Einstellungen angepasst werden:

URL-ZUR-SUCHSEITE: Link zur Seite mit der Ausgabe der Suchergebnisse
ID-DER-SUCHSEITE: Seiten ID der Suchergebnisse
SPRACHPARAMETER: der Parameter für die Sprache (sys_language_uid), z.B. 0

Wichtige TypoScript Einstellungen

Die folgenden Einstellungen sind für den Zugriff auf unsere Solr-Server notwendig, die notwendigen Daten können über unser Formular angefordert werden:

#plugin.tx_solr.solr.host = KUNDENNUMMER:SOLR-PASSWORT@SOLR-SERVER-IP
plugin.tx_solr.solr.host = 1234:abcdefgh12345@46.252.21.196
#plugin.tx_solr.solr.port = SOLR-SERVER-PORT
plugin.tx_solr.solr.port = 8080
#plugin.tx_solr.solr.path = SOLR-COREPFAD
plugin.tx_solr.solr.path = /solr/core_12345_de/
plugin.tx_solr.solr.scheme = http
config.index_enable = 1

Optionale TypoScript Einstellungen

Mit zusätzlichen TypoScript Einstellungen kann das Verhalten der Solr Suche individuell festgelegt werden: 

# Autovervollständigen aktivieren
plugin.tx_solr.suggest = 1 
# Das Suchwort in den Ergebnissen hervorheben 
plugin.tx_solr.search.results.resultsHighlighting = 1 
# Sortierfunktion der Ergebnisse aktivieren 
plugin.tx_solr.search.sorting = 1 
# Meinten Sie aktivieren 
plugin.tx_solr.search.spellchecking = 1 
# Suchgruppierung aktivieren 
plugin.tx_solr.search.faceting = 1 
# tt_news indexierung aktivieren 
plugin.tx_solr.index.queue.tt_news = 1 
# Übersetzung der Gruppierung 
plugin.tx_solr {
   search {
       faceting {
             # Gruppierung entfernen Link Beschriftung
             removeFacetLinkText = @facetText (entfernen)
             facets {
                 type {
                     label = Filtertyp
                     renderingInstruction = CASE
                     renderingInstruction {
                         key.field = optionValue
                         pages = TEXT
                         pages.value = Pages
                         pages.lang.de = Seiten

                         tt_news = TEXT
                         tt_news.value = News
                         tt_news.lang.de = Nachrichten
                     }
                 }
             }
         }
     }
 }

Seite für Suchergebnisse konfigurieren

Auf der Seite mit den Suchergebnissen wird ein Plugin vom Typ "Solr - Form, Result, Additional Components" eingefügt. In den Plugin-Einstellungen wird die Seite mit den Suchergebnissen konfiguriert:

Einstellungen für das solr-Plugin

Seiten indexieren (tx_solr Version <= 1.3, TER Version)

Bei Solr werden die zu indexierenden Seiten zunächst in eine Warteschlange (Queue) aufgenommen. Dies geschieht - analog zu indexed_seach - durch das Aufrufen einzelner Webseiten. Hierbei werden sogenannte Solr Dokumente erzeugt.

Gefunden werden diese Seiten (Solr Dokumente) erst nach einem 'commit' in den Index. Dazu wird im TYPO3 Planer (scheduler) ein Task vom Typ "Commit Solr Index" angelegt und die Daten für Host, Port und Pfad angegeben. Im Beispiel erfolgt der Aufruf alle 10 Minuten. 

Zusätzlich gibt es eine Einstellung in unseren Solr Servern (autocommit), durch die ein commit nach spätestens 20 Minuten oder 250 Dokumenten ausgeführt wird.

Seiten indexieren (tx_solr >= 2.0, EAP-Version)

Ab der Version 2 der tx_solr Extension erfolgt der Aufbau der Queue über den Planer-Task "Index Queue Worker". Hier eine Beispielkonfiguration:

Konfiguration des Index Queue Worker Tasks für tx_solr ab Version 2

Auch hier muss der Inhalt der Queue an den Solr Indexer regelmäßig über einen Planer Task übergeben werden:

Solr Suchindex optimieren

Der Suchindex von Solr sollte regelmäßig optimiert werden. Das beschleunigt die Suche und verringert den Platzbedarf des Index.

Für die Optimierung wird der Planer Task Optimize Solr Index eingerichtet. Die Optimierung kann z.B. einmal täglich nachts durchgeführt werden. 

Dateien indexieren mit Tika (tx_solr >= 2.0, EAP Version)

Die Solr Suche bietet die Möglichkeit, auf Webseiten verlinkte Dateien (z.B. PDF) zu indexieren. Hierzu muss die Extension tika installiert und wie folgt konfiguriert werden:

Solr Verwaltungsmodul (tx_solr >= 2.0, EAP Version)

Ab der Version 2 verfügt tx_solr über ein Verwaltungstool im Backend (unter Adminwerkzeugen). Hier können einzelne Funktionen direkt aufgerufen werden:

 

Hosting » Hilfe & Support » Anleitungen » Solr für TYPO3 einrichten

Servicetelefon 0800 - 8976326 (kostenloser Anruf)