奇妙な問題があります。MySQL 5.1 とFulltable-Indexを持つテーブルを使用しています。mysql 構成でft_min_word_len
は、 は 2 に設定されています (つまり、長さが 2 文字以上の単語が索引付けされます)。
以下のクエリは簡略化されていますが、元のクエリと同じ効果があります。
私が検索すると:
SELECT company FROM my_table WHERE MATCH (company) AGAINST ('intern*' IN BOOLEAN MODE)
「International Inc.」、「Internship.org」など、名前に「internat」が含まれる会社を取得します。
しかし、私が検索すると:
SELECT company FROM my_table WHERE MATCH (company) AGAINST ('just*' IN BOOLEAN MODE)
「Justice & Travelling」というテーブルにエントリがありますが、結果が得られません。
しかし、私が検索すると:
SELECT company FROM my_table WHERE MATCH (company) AGAINST ('travelling*' IN BOOLEAN MODE)
"Justice & Travelling" - エントリ / 正しい結果が得られます。
LIKE %just%
の代わりに で検索するとMATCH-AGAINST
、正しい結果も得られます。
2番目に言及されたクエリで正しい結果が得られないのはなぜですか?