Installation eines SOLR-Servers + Integration in TYPO3

| TYPO3 Linux

Die Suche auf Webseiten ist immer wieder ein gefragtes Thema. Von einfachen Volltextsuchen, bis hin zu komplexen Abfragen über spezielle Syntaxen lässt sie keine Wünsche offen. Jedoch sollte dafür die richtige Wahl getroffen werden. Im TYPO3 gibt es verschiedenste Suchen: IndexedSearch, KeSearch und SOLR. Ich habe mich für SOLR entschieden und zeige euch nun, wie man einen eigenen Server installiert und einrichtet.

Installation des SOLR-Servers

Der SOLR-Server läuft auf JAVA, daher wird diese Bibliothek vorausgesetzt. Ich zeige euch nun die Schritte auf Basis meines Raspberry Pi 4B.

  1. Installieren der JAVA-Bibliothek
    1. sudo apt install default-java

  2. Installieren von SOLR 8.11.2 (für andere Versionen, einfach die Versionsnummer austauschen)

    1. wget https://dlcdn.apache.org/lucene/solr/8.11.2/solr-8.11.2.tgz

    2. tar xzf solr-8.11.2.tgz solr-8.11.2/bin/install_solr_service.sh --strip-components=2

    3. sudo bash ./install_solr_service.sh solr-8.11.2.tgz


Nun ist der SOLR-Server installiert, somit ist er bereit um in die TYPO3-Umgebung integriert zu werden. Dafür installieren wir die offizielle SOLR-Extension aus dem TER (zum Zeitpunkt des Artikels wurde die Version 11.5.0 verwendet) in das TYPO3-Projekt. Nach der Installation müssen wir die Schemas und Configsets in unsere SOLR Installation integrieren.

cp -r public/typo3conf/ext/solr/Resources/Private/Solr/configsets /opt/solr/server/solr
cp public/typo3conf/ext/solr/Resources/Private/Solr/solr.xml /opt/solr/server/solr/solr.xml
cp -r public/typo3conf/ext/solr/Resources/Private/Solr/cores /opt/solr/server/solr

Nach dem Kopieren wird der Core erstellt, der für die Suche notwendig ist.

curl "http://localhost:8983/solr/admin/cores?action=CREATE&name=core_de&configSet=/opt/solr/server/solr/configsets/ext_solr_11_5_0&schema=german/schema.xml"

Nun ist der Core erstellt. Abschließend ergänzen wir die SiteConfig noch um die Daten des SOLR-Servers:

Solr-Tab:
Scheme: http
Host: localhost
Port: 8993
URL path to Apache Solr server: /solr/

Languages-Tab:
Jeweils den Core für die Sprache auswählen
Corename: core_de (für z.B.: Deutscher Core)


Damit nun auch Daten empfangen werden müssen wir unseren Content mit dem SOLR-Server abgleichen und das ist auch unser letzter Task.

  1. TypoScript einbinden
    1. Auf der Mainpage über Templates -> Info/Modify -> Edit the whole template record
    2. Includes:
      1. Search - Base Configuration (solr)
      2. Search - Bootstrap CSS Framework (SOLR) / Default Stylesheets (solr) (je nachdem ob Bootstrap Package verwendet wird oder nicht)
      3. (Optional) Search - Index Queue Configuration for news
  2. Flush Cache
  3. Index Queue initialisieren 
    1. Im Backend Modul von SOLR -> Index Queue
    2. Toggle all
    3. Queue Selected Content for Indexing
  4. Scheduler Task einrichten
    1. Scheduler -> [+]
    2. Index Queue Worker (solr)
      1. Frequency: 3600
      2. Webseite: Root Page
      3. Anzahl der zu indexierenden Dokumente: 50
  5. Suchseite erstellen und SOLR-Plugin hinterlegen
    1. Plugin: Suche: Formular, Ergebnisse, weitere Komponenten

Das waren alle Schritte um einen funktionierenden SOLR Server in Betrieb zu nehmen. Nachdem der Indexer durchgelaufen ist, kann die Suche auch schon getestet werden. Als erstes testen wir es im SOLR-Admin Panel. Dort wählen wir den Core unten in der Selectbox aus und starten einfach die Suchen. Als Ergebnis müssen alle Seiten erscheinen. Danach testen wir die Suche auf der neuen TYPO3 Suchseite und suchen nach *. Das Resultat müsste das gleiche sein. Eventuell werden noch Formatierungen und Plugineinstellungen benötigt, doch die Suche funktioniert!

Gib mir Feedback!

Hab ich Blödsinn geschrieben oder etwas vergessen? Dann zögere nicht weiter und lass es mich sofort wissen indem du hier einen Kommentar hinterlässt!

×
Captcha Code

Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren