Die normale Suche von TYPO3 durchsucht Titel und Inhalte. Das reicht für kleine Projekte. Aber für sehr große Internetseiten ist diese Suche zu schwach. Vielleicht haben Sie tausende Seiten und Dateien. Dann brauchen Sie eine eigene Technik für die Suche. Apache Solr ist genau diese Technik. Die Erweiterung EXT:solr verbindet Apache Solr sehr gut mit TYPO3.
Dieser Artikel zeigt die Arbeit mit EXT:solr. Wir erklären das neue Modul language-models ab Solr 9.8. Dieses Modul ist für die Vektorsuche zuständig. Wir zeigen Ihnen den Aufbau einer sehr guten Suche.
Inhaltsverzeichnis
Was EXT:solr macht
Aufbau, Teile, Weg der Dokumente
PSR-14 Events
Eigene Felder, eigene Programme
Liste für den Livebetrieb
Sicherheit, Schnelligkeit, gute Tipps
Fazit
Zusammenfassung und nächste Schritte
Was EXT:solr macht
EXT:solr verbindet TYPO3 mit einem Apache Solr Server . Das Programm stellt eine komplette Suche für große Firmen bereit:
Volltextsuche
Sie durchsuchen Seiten, Nachrichten und Produkte. Das Programm erkennt auch Wortstämme.
Filter und Facetten
Sie filtern Ergebnisse nach Kategorien. Sie kennen das von modernen Internetläden.
Automatische Vorschläge
Das System zeigt sofort Vorschläge an. Sie müssen dafür nicht die Entertaste drücken.
Aufbau der Suche
Das System besteht aus 4 Teilen. Diese Teile arbeiten zusammen:
EXT:solr Aufbau: Von der Redaktion bis zum Suchergebnis
So funktioniert der Weg der Dokumente:
- Redakteure erstellen Inhalte in TYPO3.
- Die Kontrolle bemerkt die Änderung. Sie schreibt einen Eintrag in die Index Queue. Die Index Queue ist eine Warteschlange.
- Ein Scheduler Task arbeitet die Warteschlange ab. Er sendet die Daten als JSON an den Server von Solr.
- Das Suchplugin auf der Internetseite fragt den Server von Solr ab. Es zeigt die Ergebnisse an.
Übersicht der Teile
| Komponente | Paket | Zweck | Nötig? |
|---|---|---|---|
| EXT:solr | apache-solr-for-typo3/solr | Wichtige Funktionen für die Suche und den Index | Ja |
| EXT:tika | apache-solr-for-typo3/tika | Liest Texte aus Dateien wie PDF aus | Nur für Dateien |
| EXT:solrfal | Funding Extension | Bringt FAL Dateien in den Index | Nur für Dateien |
| EXT:solrconsole | Funding Extension | Konsole für die Verwaltung | Freiwillig |
| EXT:solrdebugtools | Funding Extension | Findet Fehler bei der Suche | Empfohlen |
Kompatibilität der Versionen
| EXT:solr | TYPO3 | Apache Solr | Configset | PHP |
|---|---|---|---|---|
| 13.1.x (13.1.1) | 13.4 LTS | 9.10.1 | ext_solr_13_1_0 | 8.2 – 8.4 |
| 12.1 | 12.4 LTS | 9.10.1 | ext_solr_12_1_0 | 8.1 – 8.3 |
Die Zeile 12.4 LTS hilft Ihnen beim Vergleich von älteren Projekten. Für neue Projekte mit TYPO3 v14 nutzen Sie 14.3 und EXT:solr 14.0. Für v13 LTS nutzen Sie 13.4 und EXT:solr 13.1.
Die Version 13.1.x schließt wichtige Sicherheitslücken. Prüfen Sie vor dem Start immer die Hinweise zur Version. Die Erweiterung EXT:tika 13.1 braucht Apache Tika Server 3.2.3+.
Die Liste nennt TYPO3 14.3 mit EXT:solr 14.0. Vielleicht gibt es noch keine fertige Version als Download. Dann nutzen viele Entwickler bestimmte Entwicklerversionen:
Prüfen Sie vor einem Update immer den aktuellen Stand. Wechseln Sie auf eine fertige Version, sobald diese da ist .
Start in unter 10 Minuten
Installation über Composer
Lokale Arbeit mit DDEV
Der schnellste Weg ist das DDEV Addon :
Das Addon hat ein Standard-Image für Solr. Die Liste empfiehlt Solr 9.10.1 für TYPO3 13.4. Sie können diese Version leicht einstellen.
Sie stellen die Cores in der Datei .ddev/typo3-solr/config.yaml ein. Ein Core ist ein eigener Bereich in Solr:
Und in der Datei .ddev/config.yaml erstellen Sie die Cores:
| Befehl | Beschreibung |
|---|---|
| ddev solrctl apply | Cores aus der Datei erstellen |
| ddev solrctl wipe | Alle Cores löschen |
| ddev launch :8984 | Verwaltung von Solr im Browser öffnen |
| ddev logs -s typo3-solr | Protokolle von Solr anzeigen |
Docker für den Livebetrieb
Für den echten Betrieb gibt es ein fertiges Image für Docker . Dieses Image hat fertige Bereiche für alle Sprachen:
Betreutes Hosting
Sie wollen keinen eigenen Solr Server betreiben? Hier sind zwei Möglichkeiten:
hosted-solr.com
Betreutes Hosting von dkd. Die Firma dkd baut auch EXT:solr. Es kostet ab etwa 10 Euro im Monat.
Mittwald
Betreute Plattform mit Container. Sie hat einen Solr Dienst.
Einstellung der Internetseite in TYPO3
Fügen Sie die Verbindung in die Datei config.yaml ein:
Speichern Sie niemals Passwörter offen im Text. Nutzen Sie das Paket helhum/dotenv-connector . Halten Sie die Datei .env geheim.
Index Queue: Die Warteschlange
Die Index Queue ist eine Warteschlange. Sie ist sehr wichtig. TYPO3 sendet darüber Inhalte an Solr.
Weg der Dokumente: Von der Redaktion bis zum Suchergebnis
Seiten in den Index aufnehmen
Das System nimmt Seiten sofort in den Index auf. Sie müssen dafür nichts weiter einstellen. Das Programm liest die Seite und sendet den Text an Solr.
Beliebige Datensätze aufnehmen
Sie können jede Tabelle aus TYPO3 in den Index aufnehmen. Sie nutzen dafür TypoScript. Hier ist ein Beispiel für Nachrichten:
Die drei Objekte im Überblick:
| Objekt | Zweck |
|---|---|
| SOLR_CONTENT | Entfernt HTML Zeichen aus Texten |
| SOLR_RELATION | Verbindet Kategorien und Tags |
| SOLR_MULTIVALUE | Teilt Felder mit Kommas auf |
Dynamische Felder
EXT:solr nutzt Endungen für Felder. So können Sie eigene Felder ohne Änderung am Schema anlegen :
| Endung | Typ | Mehrere Werte? | Beispiel |
|---|---|---|---|
| _stringS | Zeichen | Nein | category_stringS |
| _stringM | Zeichen | Ja | tags_stringM |
| _textS | Text | Nein | description_textS |
| _intS | Zahl (Integer) | Nein | year_intS |
| _dateS | Datum | Nein | published_dateS |
| _floatS | Zahl (Float) | Nein | price_floatS |
| _boolS | Ja/Nein | Nein | active_boolS |
Kontrolle
EXT:solr erkennt Änderungen an Datensätzen. Dafür nutzt es PSR-14 Events. Es gibt zwei Arten:
- Sofort: Das System verarbeitet Änderungen sofort.
- Verzögert: Das System sammelt Änderungen in einer Warteschlange. Ein eigenes Programm arbeitet diese Liste später ab.
Strategie für den Site-Hash
Eine Einstellung regelt den Site-Hash in den Dokumenten. Für neue Projekte mit TYPO3 13.4 empfehlen wir die Einstellung siteHashStrategy = 1. Bei einer Änderung müssen Sie alles neu in den Index aufnehmen.
Suche einstellen
Einfache Einstellungen
Filter und Facetten
Facetten sind Filter. Sie machen die Suche sehr einfach für den Nutzer :
Verfügbare Arten von Facetten: options, queryGroup, hierarchy, dateRange, numericRange.
Automatische Vorschläge
Die normalen Vorschläge nutzen jQuery. Sie können aber auch eigenes JavaScript ohne jQuery schreiben. EXT:solr erlaubt das.
Markierungen und Prüfung auf Fehler
Vektorsuche und Hybridsuche ab Solr 9.8
Seit Januar 2025 hat Solr ein neues Modul. Es heißt language-models. Damit ist eine semantische Suche direkt auf dem Solr Server möglich . Das bedeutet: Die Suche versteht den Sinn der Wörter. Sie brauchen dafür keine extra Datenbank für Vektoren.
Das Modul für Sprache
Normale Suchen finden nur genaue Wörter. Nutzer suchen aber oft mit anderen Wörtern. Die neue Technik löst dieses Problem. Sie wandelt Texte in Vektoren um. Vektoren sind Zahlenreihen. Sie zeigen die Ähnlichkeit von Bedeutungen.
Vektorsuche: Texte und Fragen werden in Vektoren umgewandelt und verglichen
Anbieter für Vektoren (über LangChain4j ):
| Anbieter | Modell | Dimensionen |
|---|---|---|
| OpenAI | text-embedding-3-small | 1536 |
| Mistral AI | mistral-embed | 1024 |
| Cohere | embed-v3 | 1024 |
| HuggingFace | Verschiedene freie Modelle | variabel |
Gemischte Suche
Die beste Einstellung mischt zwei Suchen. Sie sucht nach genauen Wörtern. Und sie sucht nach ähnlichen Bedeutungen mit Vektoren:
So erhalten Sie die besten Ergebnisse aus beiden Techniken.
Beispiele für die Nutzung
| Beispiel | Ansatz |
|---|---|
| Intelligente Seitensuche | Findet Inhalte mit ähnlichem Sinn |
| Ähnliche Artikel | Zeigt Artikel an, die gut dazu passen |
| Mehrsprachige Brücke | Verbindet Inhalte über verschiedene Sprachen hinweg |
| FAQ | Ordnet Fragen von Nutzern den richtigen Antworten zu |
| RAG | Hilft bei Systemen mit künstlicher Intelligenz |
Die Umwandlung in Vektoren läuft oft über externe Anbieter. Sie brauchen dafür eine Schnittstelle. Achten Sie auf die Kosten für diese Anbieter. Prüfen Sie auch den Datenschutz. Planen Sie Fehler bei den Anbietern ein.
Die Unterstützung für Vektoren in EXT:solr wird immer besser. Für eigene Felder eignen sich Listener.
Fehler finden in 6 Schritten
Wenn die Suche nicht geht, liegt der Fehler oft an vier Orten. Das sind Verbindung, Warteschlange, Solr Server oder Ansicht. Gehen Sie mit Plan vor.
Plan zur Diagnose
Fehler finden: Von der Verbindung bis zur Ansicht
Bekannte Fehler und Lösungen
| Fehler | Möglicher Grund | Lösung |
|---|---|---|
| "Suche nicht verfügbar" | Verbindung zu Solr ist falsch | Einstellungen prüfen |
| Keine Ergebnisse | Site-Hash passt nicht | Strategie prüfen und neu aufnehmen |
| Leere Index Queue | TypoScript fehlt | TypoScript auf der Hauptseite einfügen |
| Einträge bleiben stehen | Programm für den Index fehlt | Aufgabe im Scheduler anlegen |
| Filter fehlen | Filter sind aus oder das Feld ist leer | Filter einschalten, Werte prüfen |
| Docker Rechtefehler | Rechte für den Ordner sind falsch | Nutzer 8983 braucht die Rechte |
| Ladefehler bei Jar Dateien | Ein Update fehlt | Dateien verschieben oder neues Docker Image nutzen |
Protokolle einschalten
Für eine genaue Fehlersuche schalten Sie das Protokoll ein. Machen Sie das nur beim Entwickeln:
Und stellen Sie die Datei in config/system/additional.php ein:
Schalten Sie das Protokoll vor dem echten Start aus. Das Protokoll macht das System sonst sehr langsam.
PSR-14 Events für eigene Erweiterungen
EXT:solr sendet an wichtigen Stellen PSR-14 Events . Sie können diese Events für eigene Programme nutzen.
Eigene Felder anfügen
Wichtige Events in der Übersicht
TYPO3 v14: Änderungen für Entwickler
Wenn Sie TYPO3 v14 nutzen, gibt es Änderungen:
- Fluid 5.0: Vorlagen für die Suche haben nun strenge Regeln. Prüfen Sie Ihre eigenen Vorlagen.
TypoScriptFrontendController: Eigene Plugins müssen auf die neue Technik umstellen.- TCA: Die alte Sucheinstellung entfällt. Nutzen Sie nun
'searchable' => truepro Spalte.
Liste für den Livebetrieb
ext_solr_13_1_0)core_de, core_en)Fazit
EXT:solr macht die Suche in TYPO3 sehr gut. Es bietet Filter, Vorschläge und eine Vektorsuche. Die Erweiterung läuft sehr stabil. Die Firma dkd Internet Service pflegt sie gut. Der Start mit DDEV dauert nur wenige Minuten.
Die 3 wichtigsten Punkte:
- EXT:solr nimmt alles in den Index auf. Es liest Seiten, Nachrichten und Dateien.
- Die Vektorsuche läuft auf dem Solr Server. Das Modul language-models bringt die semantische Suche direkt in Solr.
- Die Einrichtung ist einfach. Sie installieren das DDEV Addon. Sie stellen die Cores ein. Sie erstellen eine Aufgabe. Fertig.
Vielleicht überlegen Sie noch. Reicht die normale Suche? Sobald Sie viele Seiten oder Filter haben, brauchen Sie Solr.
TYPO3 Solr Wissen
Genaue Informationen für EXT:solr. Es geht um Index Queue, Suche und Vektorsuche. Das ist ein Hilfsmittel für Programme wie Claude oder VS Code.