次のようなテーブルを持つ MySQL データベース (バージョン 5.5.28) があります。
products (InnoDB)
-------------------------------------------------
search_id title description
1 Levi Blue Jeans Some cool jeans
2 Gucci Handbag Great accessory
3 Prada Dress Beautiful dress
MySQLで次のようなことをしたい:
SELECT MATCH(title) AGAINST ('Jeans') AS score, search_id, FROM search WHERE MATCH(title) AGAINST ('Jeans' IN BOOLEAN MODE)
私の知る限り、それは MyISAM でしかできません。次のようなことに頼らずに、InnoDBで同様の検索を行うことは可能ですか?
私のアプリケーション (約 1000 ~ 2000 レコード) では、Sphinx などはやり過ぎのようです。しかし、すべてのレコードを配列に入れ、それを PHP で検索するのも、多すぎるように思えます。しかし、多分あなたは同意しません。
PS。LIKE はうまく機能しないようです。通常、結果はそれほど正確ではなく、MATCH のようにスコアを取得することはできません。