2

検索する必要があるレコードを含む Web サイトを構築しています。検索機能が精度が高すぎることに気付きました。これはレシピのウェブサイトなので、たとえばユーザーが「キーライム パイ」と入力すると、「キーライム パイ」という名前のレシピは結果に表示されません。このために入手できるスクリプトがあるかどうかはわかりませんが、助けていただければ幸いです。

これが私の現在のクエリです:

SELECT * FROM `recipes` WHERE 
    `recipe_title` LIKE '%$search%' // Key Lime Pie
    OR `recipe_summary` LIKE '%$search%' // I love key lime pie
    OR `recipe_categories` LIKE '%$search%' //desserts, pies
//... etc

ありがとう!

4

5 に答える 5

2

あなたの最善の策は、全文検索を調べることかもしれません。デフォルトでは、MySQL は MyISAM での全文検索のみをサポートしていますが、MySQL 5.6 以降を実行している場合は、InnoDB でも実行できます

または、 LuceneSphinxなどの専用の全文検索ツールを実行することもできます。これらは、関連性ランキングなどを含むより洗練されたツールであり、スペルの違いやエラーを処理できる場合もあります (ツールによって異なります)。

于 2013-09-26T15:01:12.173 に答える