また、mysqlの全文検索などの全文については、SphinxまたはLuceneを検討することをお勧めします。私はそれらを個人的に使用したことはありませんが、どちらもmysqlの組み込みフルテキストインデックスよりも優れていると聞いています。
これらすべてのメソッドで注意すべきことの1つは、更新を維持するために特別なインデックスが必要であり、これによりメンテナンスとサーバーのオーバーヘッドが増えることです。
スフィンクスに関する良い記事:http://astellar.com/2011/12/replacing-mysql-full-text-search-with-sphinx/
製品名や番号に適したメンテナンスなしのソリューションの場合、ユーザーの検索用語をスペースで分割し、それぞれにLIKE'%term%'をクエリに追加するだけです。
さらに、トークンがアルファベット順に並べられ、スペースと記号が削除された製品名または番号である特別な検索フィールドを作成します。製品名が変更されるたびに、このフィールドを更新する必要があります。次に、元のフィールドに対するクエリに加えて、OR
この新しい削除されたフィールドを検索します。たとえば、「cat 3306 longblock」のような製品名がある場合は、product_name_searchフィールドを作成し、「3306catlongblock」を配置します。ユーザーが検索するとき3306 long-block
記号を削除してスペースを分割することにより、検索を処理します。
WHERE (other product name search clauses) OR
(product_name_search LIKE '%3306%' AND product_name_search LIKE '%longblock%')
このプロセスはフリーテキストほど良くはありませんが、製品名と番号にはかなりうまくいきます。