2009-04-28 25 views
7

FULLTEXT検索のためにmysqlで停止語リストをリセットしたい。私はmysqlにアクセスするためにphpmyadminを持っている私のシステムにWAMP Serverをインストールしました。しかし、私はphpmyadminでストップワードをリセットする方法を知らない。誰も私にそのことを教えてもらえますか?MYSQLでストップワードをリセットするには?

私もhttp://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_ft_stopword_fileこのリンクを読んでください。

+0

「無効」ストップワードのように「リセット」するか、「変更」ストップワードのようにしますか? – Aziz

答えて

11

WampServerとします。

トレイアイコンをクリックし、MySQLを選択し、my.iniをクリックします。設定ファイルがメモ帳で開きます。ファイルの最後に移動して、この行を追加します(ポート行の後)。

ft_stopword_file='' 

ストップワードを無効にします。

ft_stopword_file='path/to/stopword_file.txt' 

(もちろん、ストップワードファイルのパスを設定):カスタムストップワードファイルを使用したい場合は、でそのラインを交換してください。

この行を設定したら、設定ファイル(ファイル - >保存)を保存します。トレイアイコンをクリックし、MySQL、次にServiceを選択し、Restart Serviceをクリックします。

設定が正しく行われていることを確認するには、ブラウザでphpMyAdminを開き、上部にあるVariablesタブをクリックして、ft stopword fileを見つけて、設定されている値を確認します。

+0

はい、Wampserverを使用しています。ありがとうございました:) – Prashant

+0

新しい行で単語を区切りますか? mysqlは単語の区切り方をどのように知っていますか? – srchulo

+0

@Aziz stopword_file.txtの構造を教えてください。 – hungneox

0

MySQLが提供するストップワードのリスト(少なくともMyISAM用)は、MySQLのソースのmyisam/ft_static.cにあります。

これらは「英語」ストップワードにすぎないことにも注意してください。おそらく、他の言語のストップワードは他の場所で定義されています... ディレクティブをコメント内で指摘して使用すると、デフォルトのストップワードリストを無効または無効にできます。 Full documentation here

+0

停止単語リストを無効または変更する方法を知りたい。これは記事には書かれていません.... – Prashant

+0

あなたは - my.confを追加/編集するだけです。独自のカスタムstopwords.txtを使用するには: ft_stopword_fileの=「パス//stopword_file.txtに」 または無効にする: ft_stopword_fileの=「」 が修復を使用して、しかし、あなたのインデックスを再構築する必要がありますまたはドロップすることによりそれらを読む。 – snipe

0

ここで使用する停止語のリストは、https://dev.mysql.com/doc/refman/5.6/en/fulltext-stopwords.htmlです。このリストをファイルに保存し、MySQL設定ファイル(例:ft_stopword_file='path/to/stopword_file.txt')から参照しました。

問題ドメインで「情報技術」と「米国」を意味するため、ストップワードリストから「it」と「us」を削除しました。

残念ながら、ストップワードリストを変更するたびに、MYSQLを再起動してフルテキストインデックスを再構築する必要があります。

+0

リンクが壊れています。 – jor

0

私は同じ問題を抱えていますが、何も再コンパイルする必要はないと思います。mysqlコンソールSET ft_stopword_file = 'path/to/stopword_file.txt'を使うことができます。サーバーを再起動します。しかし、それは次回の再起動まで続くと思うので、configファイルを試してみて、動作しているかどうかを確認してください。

0

私は同じ問題を抱えていました。 ストップワードファイルは、my.iniファイルの[mysqld]セクションに含まれている必要があります。

[mysqldを] ft_stopword_fileの= 'D:/stop.txt' は、

修復表のテーブル名は、私のために働きました。

関連する問題