検索フォームで、MySQLの全文検索を実行します。
https://teratail.com/questions/295673
こちらの質問と同様の状況で、記号がトゥルーワードに該当していないため検索にHITしてくれません。
そこで検索フォームに入力されたテキストにトゥルーワード以外が含まれているかを判定し、含まれていた場合は全文検索をあきらめLIKE検索を実行する方法を考えました。
(速度的な問題は残るのですが他に解決方法を見つけられず)
BOOLEAN MODEをやめる選択もあるのですが、自然言語にすると検索精度が下がってしまうためあまり利用したくありません。
「トゥルーワード以外が含まれていたら?」の判定をPHPにて行います。
正規表現になるのかなと思っておりますが、文字コードに疎くてどのような正規表現が適切かたどり着くのに膨大な時間がかかりそうなので、詳しい方がいればアドバイスいただけませんでしょうか?
UTF8にてMySQLのトゥルーワード以外が含まれているかいないかを判定するため正規表現です。
(正規表現以外でもよいアイデアがあればご教示いただけると大変ありがたいです)
回答1件
あなたの回答
tips
プレビュー