Wenn wir also annehmen, dass die Spalten name
und colors
die einzigen Spalten sind, die wir durchsuchen müssen, würde ich Folgendes tun (naive Lösung, funktioniert aber gut, wenn Ihre Datenbank nicht Millionen von Zeilen hat und Sie nicht Tausende von Kunden haben, die gleichzeitig suchen).
Erstellen Sie zuerst eine Ansicht
CREATE VIEW SearchHere AS
SELECT item_id, CONCAT(name, ' ', colors) AS FullDescription
FROM table
Ich kenne den Namen der Tabelle in Ihrem Screenshot nicht, also habe ich table
verwendet wie sein Name.
Wenn ein Benutzer jetzt nach adult red pants
sucht Sie könnten eine Abfrage stellen
SELECT item_id
FROM SearchHere
WHERE FullDescription LIKE '%adult%'
AND FullDescription LIKE '%red%'
AND FullDescription LIKE '%pants%'
Natürlich müssten Sie die Abfrage spontan generieren, aber das ist kein Problem. Sie könnten mit AND
spielen oder OR
und Platzieren von Leerzeichen zwischen dem Wildcrad-Symbol %
und den Suchbegriff. Wahrscheinlich möchten Sie die Ansicht auch ausgefeilter machen, z. B. mehr als nur CONCAT
.