したがって、列がname
であると仮定すると、 およびcolors
検索する必要がある列はこれだけです。次のようにします(単純な解決策ですが、DBに数百万の行がなく、一度に数千の顧客が検索しない場合は問題なく機能します)。
まず、ビューを作成します
CREATE VIEW SearchHere AS
SELECT item_id, CONCAT(name, ' ', colors) AS FullDescription
FROM table
スクリーンショットのテーブルの名前がわからないため、table
を使用しました その名前として。
これで、ユーザーがadult red pants
を検索すると クエリを発行できます
SELECT item_id
FROM SearchHere
WHERE FullDescription LIKE '%adult%'
AND FullDescription LIKE '%red%'
AND FullDescription LIKE '%pants%'
もちろん、その場でクエリを生成する必要がありますが、それは問題ではありません。 AND
を使用して遊ぶことができます またはOR
ワイルドクラッド記号%
の間にスペースを配置します および検索語。おそらく、より洗練された方法でビューを実行することもできます。たとえば、CONCAT
だけを実行します。 。