08/08/10 17:13:11
>>706
>あとついでですが、テーブルのエンコーディングの指定はインストール時にできるので
>sql生成用のファイルを編集することはあまり推奨することではないと思います。
一般的にはそうですが、今回に限り違います。
よくよくmaintenance/tables.sqlをご覧ください。
CREATE TABLE /*$wgDBprefix*/searchindex以外のCREATE TABLEには、
/*$wgDBTableOptions*/というコメントが付与されています。
この$wgDBTableOptionsを置換することによって
インストール時に文字コードやストレージエンジンを設定しているんですね。
(1.12.0だったら/config/index.phpの243行 setSchema関数です。)
ところが、searchindexだけは/*$wgDBTableOptions*/が付与されていません。
これは、MySQL組み込みの全文検索
(そして、MySQL組み込みの全文検索と互換性のあるTritonn)
を使うためには、ストレージエンジンがMyISAMでないといけないからです。
$wgDBTableOptionsはEngine=InnoDBが入ってしまうのでマズいわけですね。
というわけで、このテーブルだけはインストール時にエンコーディングを指定できません。
あと実装方法実装方法言ってるけど、
上述のとおりMediaWikiは標準でMySQLの全文検索に対応しています。
つか、/includes/SearchMySQL4.phpの67行目を見んかい。
今分かっていることを情報としてまとめてみた。ツッコミプリーズ。
URLリンク(qwik.jp)