www.bimminger.at

Tipps / Internet / Typo3

Typo3

Typo3: Index von indexed_search regelmäßig löschen und neu aufbauen


Oft werden Typo3-Seiten oder Datensätze deaktiviert, gelöscht oder umbenannt und bleiben dennoch im Index von indexed_search bestehen. Natürlich kann man den Index manuell bereinigen aber das erfordert Zeit und Aufwand aber das kann man auch automatisieren.

Sollte die Seite nicht allzu umfangreich sein empfiehlt sich eine Index-Bereinigung via Cron-Job. Es gibt sicher noch weitere Lösungen, ich habe das auf folgendem Weg mit wget und direktem mysql-Zugriff gelöst.

Ich habe auf der Console einen Cron-Job in Form der Datei /home/<user>/crawler.crontab definiert:

15 3 * * * sh /home/<user>/crawler.sh



In der Datei /home/<user>/crawler.sh habe ich folgende Schritte definiert:

#Zuerst Cache und Index loeschen
/usr/bin/mysql -u <mysql-user> -p'<yourpassword>' <your-database> < /home//crawler.clear.sql

#Jetzt die Seite neu einlesen
cd /home/<user>/web
rm -R /home/<user>/web/www.yourdomain.at
wget -r http://www.yourdomain.at/



Zum Löschen der Tabelleninhalte des Caches und von indexed_search habe ich das MySQL-Skript /home/<user>/crawler.clear.sql definiert:

TRUNCATE TABLE cache_extensions \G
TRUNCATE TABLE cache_hash \G
TRUNCATE TABLE cache_imagesizes \G
TRUNCATE TABLE cache_md5params \G
TRUNCATE TABLE cache_pages \G
TRUNCATE TABLE cache_pagesection \G
TRUNCATE TABLE cache_typo3temp_log \G
TRUNCATE TABLE index_fulltext \G
TRUNCATE TABLE index_grlist \G
TRUNCATE TABLE index_phash \G
TRUNCATE TABLE index_rel \G
TRUNCATE TABLE index_section \G
TRUNCATE TABLE index_words \G
\q




Jetzt noch den Cron-Job Registrieren:

crontab /home/<user>/crawler.crontab



Somit werden täglich um 3:15 sämtliche Typo3-Caches geleert und der Index von indexed_search rückgesetzt. Dann erfolgt ein komplettes Crawlen der Webseite via wget und die damit verbundene Eintragung der Webseiten in den Index.


Eigene Typo3 Extension und indexed_search

Richtiges Cachen und integrieren von eigenen Extensions in den Index von indexed_search.