[TYPO3-german] Indexed Search Optimierung

Stefan Frömken firma at sfroemken.de
Mon Jul 18 14:02:45 CEST 2011


Mahlzeit Stephan,

alles was Dir Speed bringen würde hast Du uns verboten in unsere Antwort 
mit aufzunehmen. Also: Nein.
Mit 150.000 Datensätzen wird der Index für index_word entsprechend groß. 
Problem bei MySQL: Der FULLTEXT-Index ist langsam und selbst wenn Du auf 
MATCH AGAINST umsteigen würdest, so kannst Du dann nur noch nach "...%" 
suchen.

Wir entwickeln ke_search und können aus Erfahrung sagen, dass MySQL ab 
einer bestimmten Datenmenge Dank seinem FULLTEXT-Index einen 
Flaschenhals aufweist, den man dann gerne auf externe Indexer auslagert. 
Wir verwenden z.B. Sphinx für unsere PREMUIM-Version von ke_search. Das 
ist ne Sache von knapp 10-15 Minuten diesen Sphinx-Index auf Deinem 
Server zu installieren.

Ich könnte mir vorstellen, dass man noch knapp 20% mehr Speed rausholen 
könnte, wenn man indexed_search auf Basis von Prepared-Statements 
umbauen würde. <ein Haufen Arbeit und not tested!!!>

Stefan

Am 18.07.2011 13:41, schrieb Stephan Vidar:
> Hallo zusammen,
>
> in einem Intranet haben wir die Indexed Search im Einsatz.
>
> Mittels Crawler werden auch externe Dokumente (hauptsächlich PDF)
> indiziert. Die Menge an Dateien (ca. 800) schlägt natürlich nun auch mit
> entsprechend großen Index-Tabellen zu Buche (z.B. index_rel: 500.000
> Einträge; index_word: 150.000 Einträge) was die Suche nun mit
> Antwortzeiten von ca. 10 Sekunden und mehr gewaltig ausbremst.
>
> Der Root-Server läuft unter Linux ist dediziert und eigentlich ganz
> ordentlich ausgestattet. Die Suche nach Teilstrings via LIKE '%...%' ist
> außerordentlich wichtig und kann nicht abgeschaltet werden. Auch sind
> andere Lösungen wie Solr, mnoGoSearch oder kesearch innerhalb dieses
> Projektes derzeit nicht gewünscht und greifbar. Sieht hier jemand
> trotzdem Möglichkeiten, das Ganze zumindest ein wenig zu optimieren?
>
> Gruß, Stephan



More information about the TYPO3-german mailing list