Mediawiki/Suche nach Wörtern mit weniger als 4 Buchstaben

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Ä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
Sorry! This site is experiencing technical difficulties.
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"