web-dev-qa-db-ja.com

mysql部分単語検索

以下のクエリのように検索したいのですが、MySQLでは機能しません

 SELECT * FROM products WHERE MATCH (title,description) 
 AGAINST ('test' IN BOOLEAN MODE); 

以下の出力が欲しい

testproduct、producttest

誰かがこれを手伝ってくれますか?

18
sandeep.mishra

現在、接頭辞のみをサポートし、接尾辞はサポートしていません:

SELECT * FROM products WHERE MATCH (title,description) 
 AGAINST ('test*' IN BOOLEAN MODE); 

http://dev.mysql.com/doc/refman/4.1/en/fulltext-boolean.html

ちなみに、MySQLの全文検索は、ウェブサイトのリクエストが大きい場合にボトルネックになり、一部の特殊な検索ワードに対して脆弱で不安定になるため、クエリやデータベースのクラッシュが遅くなることがよくあります。できるだけ早くElastic Searchを使用してください。

34
lbsweek