2011-12-03 13 views
0

なぜこのクエリで結果が得られないのですか?全文を設定するにはどうすればよいですか?

SELECT * 
FROM jobs 
WHERE MATCH(title, description) AGAINST('+php' IN BOOLEAN MODE) 

タイトルと説明の両方の行にPHPという単語があります。

ほとんどすべての行にphpがある可能性がありますか?

+0

は、あなたのテーブルにフルテキストインデックスを追加しましたか? MyISAMエンジンを使用しましたか? – hungneox

+1

はft_min_word_len 3です。デフォルトでは、4とphpは3文字の単語です。 –

答えて

1

あなたのテーブルの定義はわかりません。しかし、私の意見では、あなたはそれがMyISAMのか(InnobDBのバージョン5.6がOKである)であるかどうかあなたのMySQLのエンジン

  • をチェックする必要があります。
  • 全文例えば、あなたの2 conlumnのタイトルと説明

のインデックス:

CREATE TABLE jobs 
(
    id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, 
    title VARCHAR(200), 
    description TEXT, 
    FULLTEXT (title,body) 
)ENGINE=MyISAM; 
1

4に、デフォルトのMySQLの最小ワード長の設定は、ありますが、
しかし、PHPは3文字です

設定あなたは見ることができます

[mysqld] 
ft_min_word_len=3 

更新後の設定、再起動のmysqlデーモンと再構築されたフルテキストインデックス

詳細: - http://dev.mysql.com/doc/refman/5.0/en/fulltext-fine-tuning.html

関連する問題