Mediawiki/Suche nach Wörtern mit weniger als 4 Buchstaben: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Ändern der minimalen und maximalen Wortlänge in Mysql)
(Ändern der minimalen und maximalen Wortlänge in Mysql)
 
Zeile 11: Zeile 11:
 
Danach muss der Mysql-Server neu gestartet werden.
 
Danach muss der Mysql-Server neu gestartet werden.
  
  # mysqladmin -u root -p shutdown
+
  # <b>mysqladmin -u root -p shutdown</b>
  Password:                         # gemeint ist
+
  Password:
  # /etc/init.d/mysql start
+
  # <b>/etc/init.d/mysql start</b>
  
 
und die FULLTEXT-Indizes müssen neu aufgebaut werden. Dabei sind besonders auch die Bemerkungen zu <b>myisamchk</b> zu beachten. Um die Indizes neu aufzubauen kann das Mediawiki "rebuild text script" durch [http://meta.wikimedia.org/wiki/Executing_a_Mediawiki_Maintenance_Script aufrufen eines Mediawiki Wartungsskripts] im Verzeichnis "wiki/maintenance" aufgerufen werden.
 
und die FULLTEXT-Indizes müssen neu aufgebaut werden. Dabei sind besonders auch die Bemerkungen zu <b>myisamchk</b> zu beachten. Um die Indizes neu aufzubauen kann das Mediawiki "rebuild text script" durch [http://meta.wikimedia.org/wiki/Executing_a_Mediawiki_Maintenance_Script aufrufen eines Mediawiki Wartungsskripts] im Verzeichnis "wiki/maintenance" aufgerufen werden.
  
  # cd wiki/maintenance
+
  # <b>cd wiki/maintenance</b>
  # php rebuildtextindex.php
+
  # <b>php rebuildtextindex.php</b>
  
 
Gibt folgenden Fehler aus:
 
Gibt folgenden Fehler aus:
Zeile 31: Zeile 31:
 
Fehler wird behoben durch folgenden Vorgang.
 
Fehler wird behoben durch folgenden Vorgang.
  
  # cd /srv/www/htdocs/smd
+
  # <b>cd /srv/www/htdocs/smd</b>
  # cp AdminSettings.sample AdminSettings.php
+
  # <b>cp AdminSettings.sample AdminSettings.php</b>
  # vi AdminSettings.php
+
  # <b>vi AdminSettings.php</b>
 
  $wgDBadminuser      = 'root';
 
  $wgDBadminuser      = 'root';
 
  $wgDBadminpassword  = 'xxxxxx';
 
  $wgDBadminpassword  = 'xxxxxx';
  # cd maintenance/
+
  # <b>cd maintenance/</b>
  # php rebuildtextindex.php
+
  # <b>php rebuildtextindex.php</b>
 
  Dropping index...
 
  Dropping index...
 
  Rebuilding index fields for 1707 pages...
 
  Rebuilding index fields for 1707 pages...
Zeile 59: Zeile 59:
 
Von "<nowiki>http://vserver.myvserver.net/smd/index.php/SMD:Portal</nowiki>"
 
Von "<nowiki>http://vserver.myvserver.net/smd/index.php/SMD:Portal</nowiki>"
 
</pre>
 
</pre>
 +
  
 
{{cat|Mediawiki}}
 
{{cat|Mediawiki}}

Aktuelle Version vom 29. Januar 2009, 20:25 Uhr

Ä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:
# /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"