2016-06-29 7 views
0

関連性スコアが動作していない(MySQLの)動作していません。関連性スコアはMATCH..AGAINSTの

は2行を持つつのダミーテーブルを作成しました。

ダミー・テーブル

行1 => 'リーラHayatにマリオット'

行2 => 'ベストバリュー'

クエリー1:

SELECT MATCH(COL1)「(AGAINSTリーラ*ハヤト* BOOLEANモードでのリーラ*ハヤト* ')」BOOLEAN MODE IN)(AGAINST TABLE1 WHERE MATCH(COL1)FROM関連 AS';

結果:

関連

QUERY2:

SELECT MATCH(COL1)AGAINST( 'アメリカズ* *ベスト' BOOLEAN MODE IN)TABLE1 FROM関連 AS WHERE MATCH(col1)AGAINST(アメリカ大陸ベスト*ブーレーンモード);

結果:

関連

Query1をが正常に動作しているが、なぜ、クエリ2が動作していませんか?

は、なぜ私はアメリカとしてQUERY2に関連1の代わりに、2を取得していますし、ベストは、両方の列に存在しています。

おかげ

+0

スキーマを作成示しています。あなたのmysqlバージョンを教えてください。 – Drew

+0

@Drew: CREATE TABLE 'table1'( ' col1' varchar(500)NOT NULL )ENGINE = MyISAM DEFAULT CHARSET = latin1; =================== INSERT INTO 'table1'(col1)VALUES ( 'リーラHayatにマリオット')、 ( 'ベストバリュー'); =================== ALTER TABLE 'テーブル1'フルテキストキーを追加' col1 ( '' col1')。 ======================== MySQLバージョン:5.5.46 ================= ===== フォーマットされていないコメントのため申し訳ありませんが – Sasa

答えて

0

http://dev.mysql.com/doc/refman/5.7/en/fulltext-stopwords.html

は 'BESTは' ストップワードリストに表示されます。

http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_ft_stopword_file

ft_stopword_fileの:

MyISAMテーブルのフルテキスト検索のストップワードのリストを読み込む元のファイル。別のディレクトリを指定する絶対パス名が指定されていない限り、サーバーはデータディレクトリ内のファイルを検索します。ファイルのすべての単語が使用されます。コメントは尊重されません。デフォルトでは、ストップワードのビルトインリストが使用されます(storage/myisam/ft_static.cファイルで定義されています)。この変数を空の文字列( '')に設定すると、ストップワードのフィルタリングが無効になります。

I無効にストップワードリストとなりましクエリ2が正常に動作しています。

ありがとうございました。

+0

私が書いた数:[1](http://stackoverflow.com/a/30677347)と[2](http://stackoverflow.com/a/37604988)あなたはMyISAMテーブルやINNODBをしたい場合によっては – Drew

関連する問題