Indexed Search

Ergebnisse pro Seite anpassen

Standardmäßig werden 10 Suchergebnisse pro Seite angezeigt. Die Anzahl kann mit diesem TypoScript Eintrag im Setup angepasst werden:

plugin.tx_indexedsearch._DEFAULT_PI_VARS.results = 5

Performance optimieren

Bei größeren TYPO3 Projekten (ab ca. 500-1000 Seiten) steigt die Suchgeschwindigkeit von indexed_search deutlich an. Es kann durchaus 30-60 Sekunden dauern, bis ein Suchergebnis vorliegt.

Das ist nicht nur ärgerlich für den Besucher der Webseite sondern hat auch eine starke Belastung des MySQL Servers zur Folge. Hierdurch wird die Performance der gesamten Seite in Mitleidenschaft gezogen.

Die Ursache ist ebenso wie die Lösung des Problems trivial: indexed_search erstellt in der Datenbank eine Wortliste. Diese kann mehrere 100.000 Einträge umfassen. Standardmäßig ist in der Extension die Teilwortsuche aktiviert. So liefert eine Suche nach "schwein" auch Ergebnisse, in denen z.B. das Wort Schweinegrippe vorkommt, nicht jedoch der einzelne Begriff schwein. Damit das funktioniert, muss die gesamte Wortliste mit der Datenbank-Anfrage

WHERE ... LIKE '%suchbegriff%'

durchsucht werden. In diesem Fall ist wird aus der indexierten Suche für diese Tabelle quasi eine Volltextsuche - und diese dauert wesentlich länger.

Die Lösung:

Mit der TypoScript Anweisung

plugin.tx_indexedsearch._DEFAULT_PI_VARS.type = 0

wird die Suche für eine Ganzwortsuche konfiguriert. Bei Bedarf kann der Besucher über die Option "erweiterte Suche" immer noch auf eine Teilwortsuche umschalten. Die Suchgeschwindigkeit lässt sich durch diese simple Einstellung um den Faktor 10-30 steigern.

Aktualisiert: 26.11.2016