MYSQL-Suchfeldmethode

Bitte helfen Sie, ich bin sehr verwirrt über meine Situation.

Ich fange an, eine Suchfunktion zu erstellen, bin mir aber nicht sicher, wie ich am besten vorgehen soll. Auf dem Front-End können Benutzer Wörter in ein Textfeld eingeben. Diese durchsuchen dann die MYSQL-Datenbank wie folgt:

Daher suchen sie nach 'Adult' und jede item_id (Primärschlüssel) mit 'Adult' in der Spalte 'Name' wird aufgelistet. Oder sie geben 'black' ein und jede item_id mit 'black' in 'colors' wird aufgelistet. oder sie geben 'Adult Blue' und einjeden Artikel mit entweder 'Adult'oder Blue würde auftauchen. Ich bin mir sicher, dass Sie auf die Idee kommen.

Ich habe mehrere Methoden durchgelesen, kann aber nicht herausfinden, welche die beste ist:

Verwendung einerVIEL ZU EINEM table: Das scheint zu funktionieren, aber es gibt über 500 eindeutige Elemente, das wären Tausende und Abertausende von Zeilen. Für item_id 1 müsste ich eine Zeile für 'Adult', eine Zeile für 'Denim', eine Zeile für 'Pants', eine Zeile für 'Black', eine Zeile für 'Red', eine Zeile für 'Blue' erstellen. Ich könnte genauso gut alles hart codieren.

VerwendenFIND_IN_SET: Wird das funktionieren? Müsste ich die Werte mit Kommas speichern wieAdult,Denim,Pants und auchEXPLODE die Werte trennen? Ich wollte diese Methode ausprobieren, habe aber immer wieder gelesen, dass das Speichern mehrerer Werte in einem Feld eine sehr schlechte Praxis ist.

Oder sindReguläre Ausdrücke was ich suche?

Wie werden die Werte am besten gespeichert und wie können sie am besten abgerufen werden? Ich frage nicht nach genauem Code, sondern nur nach den zu verwendenden Methoden. Jeder Rat wird geschätzt!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage