MySQL-Suchanfrage für Online-ShopPhp

PHP-Programmierer chatten hier
Anonymous
 MySQL-Suchanfrage für Online-Shop

Post by Anonymous »

Ich denke, dass die Suche eines der trivialsten Probleme in MySQL ist, aber ich habe eine interessante Anfrage für einen Online-Shop. Übrigens verwende ich Laravel v8 Eloquent zum Abfragen, wenn es bei der Lösung hilft.
Nehmen wir an, wir haben DB-Tabellengüter

Code: Select all

id | name
---+----------------------------
1  | Fried chicken leg
2  | Chicken freezed
3  | Vegetable soup with chicks
4  | Enchickened grains
Wenn der Benutzer „Chicken“ eingibt, möchte ich zuerst eine Zeile anzeigen, die mit der Suchabfrage beginnt (ID 2 in der Beispieltabelle), und es wäre perfekt, wenn nach diesen Einträgen diejenigen stehen würden, die eine Suchabfrage als ganzes Wort (ID 1) enthalten, die damit beginnt, gefolgt von einer anderen Zeile, die eine Suchabfrage enthält.
Ich frage danach hauptsächlich wegen der Notwendigkeit der Paginierung, da Shop Tausende von Einträgen hat, also möchte ich keine Ergebnisse für wenige erstellen und zusammenführen Nachfolgende Anfragen.
Ich habe versucht, zwei Anfragen zu stellen und sie zusammenzuführen und aus diesen Ergebnissen eine Paginierung zu erstellen, aber ich habe eine ziemlich komplizierte und ziemlich teure resultierende Anfrage, die einige Beziehungen für Waren wie Promo, Kategorien, Blöcke und einige mehr berührt, sodass sie doppelt oder mehr so teuer sein wird, und das ist nichts, was ich sehen möchte, ob es eine Möglichkeit gibt, eine Anfrage zu optimieren.
BEARBEITEN-Beispiel:
Wenn ich Huhn eingebe, möchte ich Sehen Sie sich zuerst Hühnchen gefroren an, dann (idealerweise, aber nicht erforderlich) Gebratene Hähnchenschenkel und danach alles, was Hühnchen enthält. Bei Priorisierung in Regex: $chicken.* -> .*\bchicken.* -> %chicken% (letztes für MySQL)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post