2009-06-21 19 views
7

私は共有ホスティングにMySQLを持っています。管理者のアクセスなしでft_min_word_lenの値を変更する方法はありますか?共有ホスティングで「ft_min_word_len」を変更することはできますか?

4文字未満のすべての単語に_またはその他の文字が追加され、4文字未満のすべての検索キーワードで補完される回避策が見つかりました。

もっと良い点がありますか、またはクリーナー短い言葉でFulltext検索を行う方法はありますか?

答えて

14

残念ながら、ft_min_word_lenはグローバルシステム変数であり、動的に設定することはできません。MySQL's online docsを参照してください。それを変更すると、すべてのFULLTEXTインデックスを再構築することになります。なぜなら、非管理者にそれを混乱させたくない理由がわかるからです。

あなたの状況の問題を解決するには、回避策(または全く同等のもの)が唯一の方法であることを心配します。ごめんなさい! (しかし、それを考えるための賞賛!)。

+0

*管理者権限を持っている場合:これはテストしていませんが、データが静的な場合は、一時的にft_min_word_len = 1を設定し、サーバーを再起動し、データベースとインデックスを作成し、 ft_min_word_lenをリセットして再起動してください。あなたのデータベースには、あなたが望むインデックスが残っていますか? – SK9

+0

私はxamppを使っていますが、どのようにft_min_word_lenを見つけることができますか? – Shafizadeh

+1

@Sajad、http://stackoverflow.com/questions/3706182/xampp-mysql-setting-ft-min-word-lenを見てください –

0

私はこれは古い記事です知っている誰かが(たとえ非ルートなど)のサーバへのシェルアクセスおよびmysqlクライアントツールを持っている場合は、

myisamchk --recover --ft_min_word_len=2 mytable.MYI 

を行うことができとにかくあなたがpropablyごとを実行するには、このスケジュールを設定する必要が新しい値も含めることができます。

関連する問題