Die normale Suche von TYPO3 durchsucht Titel und Inhalt. Das reicht für kleine Internetseiten. Große Projekte brauchen mehr Leistung. Sie müssen oft tausende Seiten durchsuchen. Sie müssen auch Dateien durchsuchen. Dafür brauchen Sie eine eigene Technik für die Suche. Apache Solr macht genau das. Das Programm EXT:solr verbindet TYPO3 und Apache Solr sehr gut.
Dieser Text erklärt die Arbeit mit EXT:solr. Seit Solr 9.8 gibt es das Modul llm. Ab Solr 10 heißt es language-models. Das Modul macht eine Vektorsuche möglich. Vektorsuche bedeutet: Der Computer versteht den Sinn von Wörtern. Wir zeigen Ihnen den Einbau dieser Profi-Suche.
Inhaltsverzeichnis
Was EXT:solr macht
Aufbau, Teile, Weg der Daten
PSR-14 Events
Eigene Felder, eigene Programme
Live System Liste
Sicherheit, Leistung, gute Regeln
Fazit
Zusammenfassung und nächste Schritte
Was EXT:solr macht
EXT:solr verbindet TYPO3 mit einem Apache Solr Server . Das ergibt eine vollständige Profi-Suche:
Suche im ganzen Text
Die Suche findet Text in Seiten und Artikeln. Die Suche versteht verschiedene Sprachen.
Filter Navigation
Sie können die Ergebnisse filtern. Sie können nach Kategorie oder Datum filtern. Das kennen Sie von Onlineshops.
Suchvorschläge
Das System macht Suchvorschläge in Echtzeit. Das passiert schon beim Tippen. Sie sehen sofort eine Vorschau.
Aufbau des Systems
Das System besteht aus vier Teilen. Diese Teile arbeiten zusammen:
Weg der Daten: Von der Redaktion bis zum Suchergebnis
So funktioniert der Weg der Daten:
- Redakteure erstellen Inhalte in TYPO3.
- Ein Programmteil bemerkt diese Änderungen durch PSR-14 Events . Das Programm schreibt einen Eintrag in die Warteschlange.
- Ein Planerprogramm arbeitet die Warteschlange ab. Es sendet die Daten an den Solr Server.
- Das Suchprogramm auf der Internetseite fragt den Solr Server ab. Es zeigt die Ergebnisse an.
Übersicht der Programme
| Programm | Paket | Aufgabe | Pflicht? |
|---|---|---|---|
| EXT:solr | apache-solr-for-typo3/solr | Hauptprogramm für die Suche | Ja |
| EXT:tika | apache-solr-for-typo3/tika | Liest Text aus PDF und Word | Nur Dateisuche |
| EXT:solrfal | Funding Extension | Nimmt Dateien in die Suche auf | Nur Dateisuche |
| EXT:solrconsole | Funding Extension | Hilfsprogramm für die Verwaltung | Optional |
| EXT:solrdebugtools | Funding Extension | Hilfe bei Fehlern | Wir empfehlen es |
Passende 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 für 12.4 LTS hilft bei Wechseln von alten Projekten. Für neue Projekte nutzen Sie Version 14 oder Version 13.
Die Version 13.1.x nutzt Solr 9.10.1. Diese Version schließt bekannte Sicherheitslücken. Prüfen Sie immer die Versionen vor dem Start. Das Programm EXT:tika 13.1 braucht Apache Tika Server 3.2.3+.
Die Liste für Versionen nennt TYPO3 14.3 zusammen mit EXT:solr 14.0. Manchmal gibt es noch keine fertige Version für Version 14. Dann nutzen Entwickler oft unfertige Versionen. Das sieht im Code so aus:
Prüfen Sie vor jedem Update den Stand der Version. Wechseln Sie auf eine fertige Version, sobald es diese gibt.
Setup in unter 10 Minuten
Start mit Composer
Lokale Arbeit mit DDEV
Der schnellste Weg für lokale Tests ist das DDEV Addon :
Das Addon nutzt eine Standardversion. Wir empfehlen Solr 9.10.1 für TYPO3 13.4. Sie können die Version über einen Befehl anpassen.
Sie stellen die Cores in dieser Datei ein .ddev/typo3-solr/config.yaml:
Und in .ddev/config.yaml erstellen Sie die Cores nach dem Start:
| Befehl | Beschreibung |
|---|---|
| ddev solrctl apply | Das Programm erstellt Cores aus der Konfiguration. |
| ddev solrctl wipe | Das Programm löscht alle Cores. |
| ddev launch :8984 | Öffnet die Solr Verwaltung im Browser. |
| ddev logs -s typo3-solr | Zeigt die Protokolle von Solr. |
Docker Live System
Für Live Systeme gibt es ein fertiges Docker Image . Es enthält fertige Cores für alle Sprachen:
Hosting Dienste
Sie wollen keinen eigenen Server betreiben? Es gibt zwei einfache Möglichkeiten:
hosted-solr.com
Ein Dienst von den Machern von EXT:solr. Die Cores sind fertig eingerichtet. Es kostet ab etwa 10 Euro im Monat.
Mittwald
Eine Plattform mit einem Solr Dienst. Sie greifen über einen Befehl darauf zu.
TYPO3 Site Konfiguration
Schreiben Sie die Verbindung in diese Datei config/sites/<identifier>/config.yaml:
Schreiben Sie Zugangsdaten nie direkt in den Code. Nutzen Sie das Programm helhum/dotenv-connector . Das Programm liest geheime Daten aus einer eigenen Datei.
Die Warteschlange: Das Herzstück
Die Index Queue ist eine Warteschlange. Sie bringt Inhalte aus TYPO3 in den Solr Server.
Weg der Daten: Von der Redaktion bis zum Suchergebnis
Seiten aufnehmen
Das Programm nimmt normale Seiten sofort auf. Sie müssen nichts extra einstellen. Das Programm liest die Seite und sendet den Text an Solr.
Beliebige Artikel aufnehmen
Sie können jede TYPO3 Tabelle in die Suche aufnehmen. Sie machen das mit TypoScript. Hier ist ein Beispiel für EXT:news:
Die drei Inhalts-Objekte im Überblick:
| Objekt | Aufgabe |
|---|---|
| SOLR_CONTENT | Das Objekt entfernt HTML Zeichen aus dem Text. |
| SOLR_RELATION | Das Objekt löst Verknüpfungen auf. |
| SOLR_MULTIVALUE | Das Objekt teilt Felder mit Kommas auf. |
Dynamische Felder
EXT:solr nutzt besondere Endungen für Felder. So können Sie eigene Felder einfach hinzufügen :
| Endung | Typ | Mehrfach? | Beispiel |
|---|---|---|---|
| _stringS | Text (ohne Analyse) | Nein | category_stringS |
| _stringM | Text (ohne Analyse) | Ja | tags_stringM |
| _textS | Text (mit Analyse) | Nein | description_textS |
| _intS | Zahl | Nein | year_intS |
| _dateS | Datum | Nein | published_dateS |
| _floatS | Kommazahl | Nein | price_floatS |
| _boolS | Wahr oder Falsch | Nein | active_boolS |
Überprüfung
EXT:solr bemerkt Änderungen an Einträgen. Es gibt zwei Arten dafür:
- Sofort (Standard): Das System verarbeitet Änderungen sofort beim Speichern.
- Verzögert: Das System sammelt Änderungen in einer Warteschlange. Ein Planerprogramm arbeitet die Liste später ab.
Sie stellen das in den Extension Settings ein. Der Punkt heißt monitoringType.
Hash Strategie
Das System nutzt eine Site-Hash-Strategie. Das trennt Daten von verschiedenen Internetseiten. Wir empfehlen Strategie 1 für neue Projekte. Ein Wechsel der Strategie braucht einen neuen Suchlauf für alle Seiten.
Suche konfigurieren
Grundlegende Einstellungen
Filter Navigation
Facetten sind Filter. Filter machen die Suche sehr einfach :
Verfügbare Arten für Filter: options (Standard), queryGroup, hierarchy, dateRange, numericRange.
Suchvorschläge
Die normalen Vorschläge nutzen jQuery. Sie können auch eigenes JavaScript schreiben. EXT:solr erlaubt das.
Hervorhebung und Rechtschreibung
Vektor und Hybridsuche mit Solr 9.8
Apache Solr 9.8 hat das Modul llm. Ab Solr 10 heißt das Modul language-models . Dieses Modul erlaubt eine semantische Suche direkt auf dem Server. Semantische Suche achtet auf den Sinn von Wörtern. Sie brauchen keine extra Datenbank dafür.
Das LLM Modul
Das Modul löst ein bekanntes Problem. Nutzer suchen oft mit anderen Wörtern als der Text nutzt. Das System wandelt Texte und Suchanfragen in Vektoren um. Vektoren sind Zahlenreihen. Ähnliche Zahlenreihen bedeuten einen ähnlichen Sinn.
Vektorsuche: Texte und Anfragen werden als Zahlen verglichen.
Unterstützte Anbieter :
| Anbieter | Modell | Größe |
|---|---|---|
| OpenAI | text-embedding-3-small | 1536 |
| Mistral AI | mistral-embed | 1024 |
| Cohere | embed-v3 | 1024 |
| HuggingFace | Verschiedene Modelle | verschieden |
Hybridsuche
Die beste Einstellung kombiniert zwei Suchen. Sie kombiniert die normale Wortsuche mit der Vektorsuche:
So finden Sie genaue Wörter und ähnliche Bedeutungen.
Beispiele für die Nutzung
| Beispiel | Lösung |
|---|---|
| Kluge Suche | Das System findet Seiten mit ähnlichem Sinn. |
| Ähnliche Artikel | Das System vergleicht die Zahlenreihen der Artikel. |
| Sprachen verbinden | Das System findet gleiche Inhalte in anderen Sprachen. |
| Fragen beantworten | Das System erkennt Fragen trotz anderer Wörter. |
| Hilfe für KI | Solr liefert Daten für KI Systeme. |
Beachten Sie die Kosten und den Datenschutz. Die Vektoren kommen oft von externen Anbietern. Planen Sie Kosten für diese Dienste ein. Prüfen Sie die Regeln für den Datenschutz.
Die Unterstützung für Vektoren in EXT:solr wird immer besser. Sie können eigene Programme für Vektoren schreiben.
Fehlersuche in 6 Schritten
Manchmal funktioniert die Suche nicht. Es gibt vier häufige Gründe. Das sind: Verbindung, Warteschlange, Solr Core oder die Ansicht. Gehen Sie Schritt für Schritt vor.
Ablauf Plan
Fehlersuche Schritt für Schritt
Häufige Fehler
| Problem | Grund | Lösung |
|---|---|---|
| Suche nicht verfügbar | Verbindung falsch | Site Konfiguration prüfen. |
| Keine Ergebnisse | Falscher Hash | Hash Strategie prüfen und neu starten. |
| Leere Warteschlange | TypoScript fehlt | Vorlagen in der Hauptseite laden. |
| Keine Daten in Solr | Planerprogramm fehlt | Planerprogramm für die Warteschlange erstellen. |
| Filter fehlen | Falsche Einstellung | Filter in den Einstellungen aktivieren. |
| Docker Fehler | Falsche Rechte | Rechte für Ordner richtig setzen. |
| Fehler beim Laden | Sicherheitslücke in altem Solr | Auf Solr 9.8 aktualisieren. |
Protokoll einschalten
Sie können ein genaues Protokoll einschalten. Machen Sie das nur auf Entwicklungs-Servern:
Und stellen Sie die Datei in config/system/additional.php ein:
Achtung: Schalten Sie das Protokoll auf dem Live System aus. Das Protokoll macht sehr viele Daten. Das macht den Server langsam.
PSR-14 Events für eigene Programme
EXT:solr sendet an wichtigen Stellen Signale. Diese Signale heißen PSR-14 Events . Sie können diese Signale für eigene Programme nutzen.
Eigene Felder hinzufügen
Wichtige Signale
TYPO3 v14: Änderungen
Sie nutzen TYPO3 Version 14? Dann gibt es wichtige Änderungen:
- Fluid 5.0: Fluid 5.0 braucht genaue Datentypen. Prüfen Sie Ihre eigenen Vorlagen.
- TypoScriptFrontendController: Einige alte Befehle fallen weg. Sie müssen neue Befehle für Abfragen nutzen.
- TCA: Die Einstellung für Suchfelder ändert sich. Sie müssen jetzt
searchable => truefür jede Spalte setzen.
Live System Liste
Fazit
EXT:solr macht die TYPO3 Suche zu einer Profi-Suche. Sie bekommen Filter, Vorschläge und Vektorsuche. Die Firma dkd Internet Service pflegt das Programm sehr gut. Sie können das Programm mit DDEV sehr schnell lokal testen.
Die drei wichtigsten Punkte:
- EXT:solr durchsucht alles. Es durchsucht Seiten, Artikel und Dateien. Die Verbindung ist sehr anpassbar.
- Die Vektorsuche läuft auf dem Solr Server. Das Modul llm bringt semantische Suche in Solr.
- Die Einrichtung ist einfach. Sie installieren das DDEV Addon. Dann erstellen Sie den Planer. Danach ist alles fertig.
Reicht die normale Suche für Sie? Oder brauchen Sie eine Profi-Suche? Bei mehr als ein paar hundert Seiten brauchen Sie Solr. Das gilt auch für viele Dateien oder Filter.
TYPO3 Solr Wissen
Hier finden Sie genaue Informationen für Entwickler. Die Dokumentation erklärt die Warteschlange und die Vektorsuche. Es gibt auch Tipps für Vorschläge ohne jQuery.