1

MATCH AGAINST を使用してデータベース内の複数のフィールドを検索していますが、結果に問題があります。

クエリは次のとおりです。

MATCH(productname, stockcode, productdescription, additional_1, additional_2, additional_3, additional_4, additional_5, additional_6, additional_7, additional_8) AGAINST ('red* tile*' IN BOOLEAN mode)

クエリから、「red%」または「tile%」の両方の結果が必要ですが、「requiRED」という単語が含まれているレコードが返されます。これは望ましくありません。

これはできますか?

4

1 に答える 1

2

ほとんどの場合ft_min_word_len、デフォルト値の に設定されています4

redこの設定ではインデックス付けも照合も行われず、クエリで無視されます。

ft_min_word_len一致させたい場合は、より小さい値に変更しますred(インデックスがある場合は、インデックスを再構築する必要があります)。

このフィドルを参照してください。

アップデート:

両方の単語を一致させたい場合は、これを使用します。

AGAINST ('+red* +tile*' IN BOOLEAN mode)
于 2012-06-01T09:39:18.657 に答える