Glossar
Solr-Suche
Eine eigenständige Suchmaschine, die TYPO3-Inhalte indexiert und deutlich mehr kann als die eingebaute Suche.
Was Solr besser kann
Apache Solr ist eine eigenständige Suchmaschine. Die TYPO3-Anbindung schickt Inhalte in deren Index, und Suchanfragen laufen danach gegen diesen Index statt gegen die Datenbank.
Der Unterschied zeigt sich in dem, was möglich wird: Facetten zum Eingrenzen der Treffer, Autovervollständigung während der Eingabe, Toleranz gegenüber Tippfehlern, Synonyme, Gewichtung einzelner Felder und Suche im Inhalt von PDF-Dateien.
Wann es sich lohnt
Drei Anzeichen sprechen dafür. Der Bestand ist groß genug, dass Besucher ohne Filter nicht ans Ziel kommen. Es gibt Dokumente, deren Inhalt auffindbar sein soll. Oder die Suche ist ein zentraler Weg durch die Seite und nicht nur ein Notausgang.
Fehlen alle drei, ist Solr Aufwand ohne Gegenwert. Dann lohnt eher ein Blick darauf, ob die vorhandene Suche gut konfiguriert ist und ob die Seitenstruktur Besucher überhaupt suchen lässt.
Betrieb mitdenken
Solr ist der Teil eines TYPO3-Projekts, der am häufigsten unterschätzt wird — nicht in der Umsetzung, sondern im Betrieb. Der Index muss aktuell gehalten werden, der Dienst überwacht, und bei einem Umzug wandert er mit.
Deshalb klären wir vor der Entscheidung, ob die Hosting-Umgebung das trägt. Ein Suchdienst, der nach einem halben Jahr nicht mehr indexiert, ist schlechter als keiner.
Wie Inhalte in den Index kommen
Solr durchsucht die Website nicht selbst. TYPO3 führt eine Warteschlange mit allem, was indexiert werden soll, und ein Scheduler-Auftrag arbeitet sie ab. Wird ein Datensatz geändert, landet er erneut in dieser Warteschlange.
Daraus folgt die häufigste Ursache für seltsame Suchergebnisse: Der Index steht nicht auf demselben Stand wie die Seite. Läuft der Scheduler nicht, bleibt die Suche auf dem Stand des letzten Durchlaufs, ohne dass irgendwo eine Fehlermeldung erscheint.
Zugriffsrechte gehen mit
Eine Suche, die geschützte Inhalte in den Treffern anreißt, hebt den Schutz auf. Die Anbindung überträgt deshalb die Zugriffsbeschränkungen mit in den Index, und die Suchanfrage berücksichtigt, welche Gruppen die anfragende Person hat.
Das ist einer der Punkte, an denen eine selbstgebaute Suchlösung regelmäßig scheitert. Es fällt erst auf, wenn ein Dokument auftaucht, das niemand sehen sollte.
Mehrsprachigkeit
Üblich ist ein eigener Core je Sprache. Der Grund ist nicht Ordnungsliebe: Die Textanalyse arbeitet sprachabhängig. Wortstammbildung, Stoppwörter und Zerlegung zusammengesetzter Wörter funktionieren nur, wenn Solr weiß, welche Sprache vorliegt.
Wer alles in einen Topf wirft, bekommt eine Suche, die in einer Sprache brauchbar ist und in den anderen merklich schlechter.
Abgrenzung zur eingebauten Suche
TYPO3 bringt mit Indexed Search eine Suche mit, die ohne zusätzlichen Dienst auskommt. Für überschaubare Seiten reicht sie, und sie hat den Vorteil, dass nichts weiter betrieben werden muss.
Sobald Facetten, Fehlertoleranz oder die Suche in Dateiinhalten gefragt sind, endet ihr Bereich. Die Entscheidung zwischen beiden ist deshalb weniger eine technische Vorliebe als eine Frage danach, welche Rolle die Suche auf der Seite spielt.
Was der Betrieb konkret bedeutet
Solr ist ein eigener Dienst und braucht Arbeitsspeicher, eine Java-Laufzeitumgebung und Aufmerksamkeit bei Aktualisierungen. Er gehört nicht ins Webverzeichnis und sollte von außen nicht erreichbar sein.
Bei einem Versionssprung von TYPO3 will außerdem die Anbindung passen. Vor einem Update lohnt der Blick darauf, welche Solr-Version die neue Fassung der Extension erwartet.