Onsite-Search für TYPO3: Indexed, KE oder Solr?
Suche ist nicht gleich Suche. Die Anforderungen an die Suche von Amazon sind so z.B. komplett andere als Anforderungen an die Googlesuche. Aber welche Searchengine und welche Funktionen sind die richtigen für meine Website? Mit einem kurzen Überblick über gängige Suchfunktionen und einer Vorstellung der drei meistgenutzten Onsite-Suchen in TYPO3 soll dieser Blogbeitrag bei der Beantwortung dieser Frage unterstützen.
Features einer Onsite-Search
Tech-Giganten wie Google bieten uns auf ihren Plattformen diverse hilfreiche, unterstützende und lenkende Funktionen, die wir inzwischen als Standard wahrnehmen. Dahinter stecken oft komplexe Systeme, sodass der Einsatz auf der eigenen Website nicht immer ganz so trivial ist.
Autocomplete
Eines dieser Features ist die Autocomplete-Funktion: Während der Eingabe werden Vorschläge für die automatische Vervollständigung von bereits teilweise eingetippten Wörtern gemacht. Aus “Typ..” wird “TYPO3”. Technische Grundlage hierfür ist i.d.R. ein Wörterbuch, aus dem während der Eingabe passende Vervollständigungen gesucht und vorgeschlagen werden.
Autosuggest / Predictive Search
Die Begriffe Autocomplete und Autosuggest (besser “Predictive Search”) werden oft synonym verwendet – sie bezeichnen aber unterschiedliche Features. Durch Predictive Search werden dem User Vorschläge für vollständige Sucheingaben gegeben. Zur Usereingabe “TYPO3” wird so z.B. “TYPO3 aktualisieren” und “TYPO3 installieren” vorgeschlagen. Die Vorschläge basieren i.d.R. auf den Eingaben, die andere User in dem Kontext getätigt haben. Eingaben müssen dementsprechend vom System getrackt, nachgehalten und auf ihre Qualität geprüft werden.
Fuzzysearch / Fehlertolerante Suche
Ein weiteres Komfort-Feature, das auch als “unscharfe Suche” bezeichnet wird, ist die Fuzzysearch. User vertippen sich oder geben Suchbgeriffe in deklinierter Form ein. Eine einfache Suche findet jedoch nur exakte Treffer. Führt der User beispielsweise eine Suche nach “Betten” aus, so werden Einträge, auf denen das Wort “Bett” vorhanden ist, nicht als Ergebnis gelistet. Bei der Fuzzysearch wird nicht die genaue Usereingabe als Suchkriterium genutzt, sondern auch Zeichenketten, die der Eingabe ähnlich sind. Selbst Falscheingaben wie “TÜPO3” würde bei einer gut konfigurierten Fuzzysearch Ergebnisse für “TYPO3” liefern.
Synonyme Suchbegriffe
In vielen Bereichen gibt es Begriffe, die synonym verwendet werden. Dies trifft z.B. auch dann zu, wenn englische Begriffe Eingang in die Sprache gefunden haben (z.B. Anwendung und Applikation). Sucht der User nun nach einem dieser Begriffe, so sollen auch Treffer zu dem jeweils anderen Begriff angezeigt werden.
Facettierte Suche
Eine Facettensuche bietet dem User die Möglichkeit, das Suchergebnis durch das Hinzuziehen weiterer Kriterien einzugrenzen. Welche Kriterien sinnvoll sind, ist von Projekt zu Projekt unterschiedlich. Ein typisches Beispiel ist die Eingrenzung über Metadaten: Zeige nur Ergebnisse einer spezifischen Kategorie, eines spezifischen Autors oder eines spezifischen Datentyps wie z.B. Pressemeldungen. Sehr geläufig ist dieses Feature vor allem aus Webshops, in denen wir das Suchergebnis für Produkte nach Farbe, Kleidergröße, Material etc. granulieren können.
Searchengines in TYPO3
Für TYPO3 gibt es eine Reihe von Onsite-Searchengines. Die drei meistgenutzten werden hier kurz vorgestellt.
Indexed Search
Seit TYPO3 Version 9 ist die “Indexed Search” Teil des Cores von TYPO3 und damit Bestandteil eines jeden TYPO3-Projekts. Damit die Indexed Search eingesetzt werden kann, muss sie lediglich ins Template integriert und die Suchergebnisseiten (SERPs) gestylt werden. Im Wesentlichen findet diese Search-Engine Inhalte, die auf der Website tatsächlich ausgegeben werden und auch nur in genau dieser Form. Als weitere Einschränkung gilt zudem, dass nur Inhalte, die gecached werden, von der Suche gefunden werden können.
Indexed Search kann keine Meta-Informationen bei der Suche berücksichtigen und kann als reine Volltextsuche auch nicht mit Synonymen oder Wortstammähnlichkeiten umgehen. Auch moderne Features wie Autocomplete, Predictive Search oder eine Facettierung der Suchergebnisse ist nicht vorgesehen. Ein weiterer Nachteil: Die Suche belastet den Webserver und ist somit für Websites mit umfangreichen Inhalten bzw. vielen zeitgleichen Anfragen ungeeignet.
Auch die häufige Anforderung, die Einträge im Suchergebnis mit zusätzlichen Bildern oder weiteren Meta-Informationen anzureichern, sind mit Indexed Search nicht oder nur mit deutlichem Mehraufwand zu erreichen.
KE Search
Die KE Search gibt es in zwei Versionen: Als kostenlose Basis-Variante und als kostenpflichtige KE Search Premium für 790 Euro.
Bereits in der Basis-Variante stehen eine Reihe nützlicher Funktionen zur Verfügung: Suchergebnisse können z.B. nach Tags oder Kategorien facettiert werden. Außerdem können neben Seiten auch News, Termine und andere Datensätze aus TYPO3 in den Suchindex aufgenommen werden. Des Weiteren bietet die KE Search im Backend eine einfache Suchwortstatistik, über welche sich Rückschlüsse über die Verwendung der Suche ziehen lassen.
In der Premium-Version kommen Features wie Autocomplete und die Berücksichtigung synonymer Suchbegriffe hinzu.
KE Search nutzt ebenfalls die Ressourcen des Webservers. Insbesondere bei der Nutzung von MySQL kommen hier auch Besonderheiten bei den Möglichkeiten und Limitierungen ins Spiel; so ist es z.B. nicht so ohne weiteres möglich, sehr kurzen Suchbegriffen zu finden. Das ist insbesondere dann zu berücksichtigen, wenn auf der Website selbst Produkte o.ä. mit kurzen Bezeichnungen beworben werden.
SOLR
Während Indexed Search und KE Search explizit für TYPO3 entwickelt worden sind, ist Solr eine von der Apache Software Foundation entwickelte Searchengine, die plattformunabhängig einsetzbar ist. Für TYPO3 gibt es natürlich eine entsprechende Extension, was den Aufwand der Einbindung deutlich reduziert.
Ebenfalls im Gegensatz zu den o.g. Suchen läuft Solr nicht als Teil der TYPO3-Anwendung, sondern auf einem eigenen Solr-Server. Hierdurch ist die Suche sehr flexibel einsetzbar. Ein weiterer Vorteil des Solr-Servers ist eine Entlastung des TYPO3-Servers, sodass Solr ideal für umfangreiche Webprojekte mit viel Traffic ist.
Solr bietet alle denkbaren Features von Autocomplete, Predictive Search und synonymen Keywords über umfangreich konfigurierbare Facettierungen. Auch Suchen nach Begriffen mit gleichem Wortstamm lassen sich mit Solr umsetzen.
Selbstverständlich lassen sich mit Solr sämtliche gewünschte Datensätze einer Website durchsuchen.
Des Weiteren ist Solr perfekt geeignet, um hochgradig individuelle Anforderungen umzusetzen. Für einen Kunden haben wir so z.B. ein System realisiert, das mehrere eigenständige Websites übergreifend durchsucht und auf der Konzern-Mutterseite auch Suchergebnisse der Konzern-Töchter (entsprechend gekennzeichnet) anzeigt.
Search-Engines im Vergleich
| Indexed Search | KE-Search | Solr |
---|---|---|---|
Durchsucht.. | Inhalte, die von TYPO3 gecached wurden | Seiten, News, Termine, etc. | beliebige Datensätze und Metadaten |
Autocomplete | Nur mit zusätzlicher Extension möglich | Ja | Ja |
Predictive Search | Nein | Ja | Ja |
Facettierung | Nein | Ja, nach Tags und Kategorien | Ja, beliebig konfigurierbar |
Synonyme Suchbegriffe | Nein | Nur in Premium | Ja |
Performance | Gering | Mittel | Hoch aufgrund Solr-Server |
Nutzungsstatistik | Nein | Einfache Suchwortstatistik | Umfangreiche Statistik möglich |
In a Nutshell
Die TYPO3-eigene Indexed Search ist nur für kleine Websites geeignet. Ob hier aber überhaupt eine Onsite-Search sinnvoll und erforderlich ist, ist eingehend zu prüfen. Oft ist eine gute Navigation und Userführung zielführender – insbesondere da die Ergebnisse einer mittelmäßigen Suche den von Google & Co verwöhnten User eher enttäuschen. Besser keine Suche, als eine Schlechte.
Die KE Search ist bereits in der Basis-Version ein gutes Tool für mittlere und kleine Website, die nicht auf eine Suche verzichten wollen. Mit etwas Aufwand lassen sich auch Suchen mit erweiterten Funktionen realisieren.
Bei Webprojekten mit umfangreichen Datensätzen, hohen Besucherzahlen bzw. besonderen Anforderungen an die Suche ist Solr die perfekt Wahl. Nahezu jede denkbare Anforderung ist hier realisierbar.
Weiterführende Links
- KE-Search: https://www.typo3-macher.de/facettierte-suche-ke-search/
- Übersicht zu weiteren Suchen: https://t3terminal.com/blog/typo3-indexed-search/
- Alache Solr: https://solr.apache.org/