Lmar Niazman
13.12.2023

Lesezeit: 5 Minuten

Release des Nutch-TYPO3-CMS Plugins 2.3.0

Logo: TYPO3, Solr, nutch mit Rakete im Bild in orange-Tönen

Apache Nutch für TYPO3 ist nun in der Version 2.3.0 verfügbar!
Hier ist Apache Nutch 1.19 im Einsatz, welches neben diversen Bugfixes und Upgrades wie JDK 11 und Apache Tika 2.2.1 auch einige neue Verbesserungen und Funktionalitäten bereithält.
Die komplette Liste an Neuerungen ist hier (https://github.com/apache/nutch/blob/master/CHANGES.txt) zu finden.

Mehr dazu gibt es in unserem Blogbeitrag. Viel Spaß dabei!

Kompatibilität mit TYPO3 und Apache Solr

Nutch für TYPO3 ist mit diesem Upgrade nun kompatibel mit:

  • TYPO3 10.4 & EXT:solr 11.2
  • TYPO3 11.5 & EXT:solr 11.5
  • TYPO3 12.4 & EXT:solr 12.0

Weiterhin wird mindestens Ant 1.10 und Apache Ivy 2.5 benötigt. Die vollen Kompatibilitätsbedingungen können in der Readme des Plugins nachgeschlagen werden: https://github.com/TYPO3-Solr/nutch-typo3-cms/blob/main/README.md#systems-requirements

Aufsetzen der solr-ddev-site

Damit der Nutch den Apache Solr Server erreichen kann und die Indizes schreiben kann, müssen alle nachfolgenden Befehle im ddevs web-Container beziehungsweise nach "ddev ssh" ausgeführt werden.
Zum Herumprobieren haben wir die solr-ddev-site angelegt, die mit einigen wenigen Klicks auch bei euch sofort zum Testen des Nutch-Plugins bereit ist.
Wenn ihr die solr-ddev-site geklont habt (https://github.com/TYPO3-Solr/solr-ddev-site) und bei euch mindestens Docker 17.05 und ddev 1.5.1 installiert ist, könnt ihr die Umgebung mit "ddev start" bereits starten. Das Plugin ist zur Nutzung mit einem TYPO3-System soweit vorkonfiguriert, es sind nur noch einige wenige Einstellungen nötig. Unter conf > nutch-site.xml müssen folgende Werte eingegeben werden:

  • typo3.baseUrl
  • typo3.api.key

Der API-Key ist in eurem TYPO3-Backend links im Navigationsmenü unter Apache Solr > Info zu finden.

Screenshots Apache Solr Backend
Eingegebene Parameter in der nutch-site.xml

            
         3: Eingegebene Parameter in der nutch-site.xml

Anschließend gebt ihr in der conf > index-writers.xml die URL eures Solr-Kerns an, in den die Ergebnisse indexiert werden sollen.

Angabe der URL des Solr-Kerns in der index-writers.xml


     4. Angabe der URL des Solr-Kerns in der index-writers.xml

Damit in den TYPO3-Suchergebnissen auch die Nutch-Inhalte angezeigt werden, muss im TypoScript-Setup folgende Einstellung vorgenommen werden:

plugin.tx_solr.search.query.allowedSites = *

Konfiguration der Seed-URL

Zur Einrichtung des Crawlers tragt ihr unter­­­ "urls/seed.txt" lediglich die URL ein, die ihr gerne crawlen wollt. Diese URL dient Nutch als Startpunkt, von dem aus alle weiteren verlinkten Seiten berücksichtigt werden.

Screenshot Seed URL


     5. Angabe der Seed-URL

Wenn ihr nur einen bestimmten Teil einer Seite crawlen wollt, könnt ihr dies in der Datei conf/regex-urlfilter.txt festlegen. Hier werden Regular Expressions angegeben, welche die URL limitieren, welche ihr crawlen wollt. Mehr dazu findet ihr in der Nutch Doku unter https://cwiki.apache.org/confluence/display/nutch/NutchTutorial#NutchTutorial-CreateaURLseedlist.

Crawlen & Indexieren der Ergebnisse

Nun kann es losgehen! Öffnet ein Terminal in eurem Nutch-Ordner, dort ist unter bin/ das Skript crawl zu finden, was alle Funktionen beinhält, um die in der seed.txt angegebenen URLs zu crawlen, parsen und in eurer Solr-Umgebung zu indexieren. Dies tun wir mit folgendem Befehl:

bin/crawl -i -s urls/seed.txt dkd 1

Mit dem Flag -i werden die Ergebnisse indexiert, -s urls/seed.txt ist der Verweis auf die Datei, in der wir unsere Seed-URL angegeben haben. dkd gibt den Ordner an, in dem Nutch seine Ergebnisse speichern soll und 1 bestimmt die Anzahl an Durchläufen. Alle Flags und ihre Funktionen könnt ihr unter dem folgenden Link nachlesen: https://github.com/apache/nutch/blob/master/src/bin/crawl

Sobald das Skript durchgelaufen ist, können die Ergebnisse in eurem Solr-Backend eingesehen werden. In unserem Fall sieht das folgendermaßen aus:

Nutch-TYPO3-CMS Plugins 2.3.0
6. "responseHeader" (solrindex.png) einfügen


Das Löschen der Inhalte über das Solr-Backend wird zurzeit noch nicht unterstützt, da darüber nur in TYPO3 konfigurierte Sites berücksichtigt werden. Für die regelmäßige und vollständige Indexierung richtet ihr euch am Besten einen Cronjob für den crawl-Command ein.

Danke! ツ

Wir möchten uns hier noch einmal bei allen bedanken, die an diesem Release beteiligt waren:

  • Alexander Stehlik
  • Lmar Niazman
  • Markus Friedrich
  • Olivier Dobberkau
  • Rafael Kähm