mysqlのfull text boolean mode
で複数のテストを行っていますが、私のテストでは複数の単語にマイナス記号を使用することはできません。フルテキストブールモードで複数の単語にマイナス記号を使用
私は次のクエリを実行した場合例えば2行..
id,name
1,2011-12 Fleer Retro auto jordan non
2,1999 jordan non auto
を持っている:
SELECT auction_id,`name`,description FROM auctions WHERE MATCH(`name`) AGAINST('+jordan +auto -non' IN BOOLEAN MODE);
を期待通りに両方の行が表示されません。しかし、私はこのクエリを実行する場合:
SELECT auction_id,`name`,description FROM auctions WHERE MATCH(`name`) AGAINST('+jordan +auto -"non auto"' IN BOOLEAN MODE);
両方の行が表示されません(同じ結果)。行1
は戻ってはならないのですか?
編集:私ft_min_word_len
は2
に設定され、それはそれとは何の関係もありませんので、私は、私のストップワードファイルを無効にしています。
フィドル:http://sqlfiddle.com/#!2/d1987/4
はしかし、フィドルは、デフォルトのストップワードファイルを使用していますので、「非」という言葉でそれをテストが機能しないようです。
テーブルにさらにいくつかの行を追加してみてください。 – Strawberry
@Strawberry申し訳ありませんが、テーブルには2つ以上の行があります。実際には合計で164行あります。 – Brett
あなたが提供する基準には、およそ何パーセントが一致していますか? – Strawberry