Mediawiki/Suche nach Wörtern mit weniger als 4 Buchstaben
Ändern der minimalen und maximalen Wortlänge in Mysql
Die minimale und maximale Länge von zu indizierenden Wörtern wird durch die Systemvariablen "ft_min_word_len" und "ft_max_word_len" definiert (ab Mysql 4.0.0). Die standardmässig eingestellte minimale Wortlänge ist vier Zeichen. Die maximale Länge hängt von der Mysql-Version ab. Nach dem Ändern einer der beiden Werte muss der FULLTEXT-Index neu aufgebaut werden. Um drei Zeichen lange Worte suchbar zu machen kann die Systemvariable "ft_min_word_len" in der Optionsdatei Datei "/etc/my.cnf" verändert werden.
[mysqld] ft_min_word_len=3 [myisamchk] ft_min_word_len=3
Danach muss der Mysql-Server neu gestartet werden.
# mysqladmin -u root -p shutdown Password: # gemeint ist # /etc/init.d/mysql start
und die FULLTEXT-Indizes müssen neu aufgebaut werden. Dabei sind besonders auch die Bemerkungen zu myisamchk zu beachten. Um die Indizes neu aufzubauen kann das Mediawiki "rebuild text script" durch aufrufen eines Mediawiki Wartungsskripts im Verzeichnis "wiki/maintenance" aufgerufen werden.
# cd wiki/maintenance # php rebuildtextindex.php
Gibt folgenden Fehler aus:
SMD has a problem<br>Sorry! This site is experiencing technical difficulties.<br>Try waiting a few minutes and reloading. (Can't contact the database server: Access denied for user 'root'@'localhost' (using password: NO) (localhost))
Fehler wird behoben durch folgenden Vorgang.
# cd /srv/www/htdocs/smd # cp AdminSettings.sample AdminSettings.php # vi AdminSettings.php $wgDBadminuser = 'root'; $wgDBadminpassword = 'xxxxxx'; # cd maintenance/ # php rebuildtextindex.php Dropping index... Rebuilding index fields for 1707 pages... 0 500 1000 1500 Rebuild the index... Done.
Weitere Informationen dazu: http://dev.mysql.com/doc/refman/5.0/en/fulltext-fine-tuning.html
Dieser Neuaufbau des Index war auch bei folgender Fehlermeldung beim Abspeichern einer Wiki-Seite zielführend.
Fehler in der Datenbank Aus SMD, der freien Wissensdatenbank Es gab einen Syntaxfehler in der Datenbankabfrage. Die letzte Datenbankabfrage lautete: (SQL query hidden)aus der Funktion "SearchMySQL4::update". MySQL meldete den Fehler "1034: Incorrect key file for table 'searchindex'; try to repair it (localhost)". Von "http://vserver.myvserver.net/smd/index.php/SMD:Portal"