Поисковый запрос Mysql для интернет-магазинаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Поисковый запрос Mysql для интернет-магазина

Сообщение Anonymous »

Я думаю, что поиск — одна из самых тривиальных задач в MySQL, но у меня есть интересный запрос на интернет-магазин. Кстати, я использую Laravel v8 Eloquent для запросов, если это поможет с решением.
Предположим, что у нас есть товары из таблицы БД

Код: Выделить всё

id | name
---+----------------------------
1  | Fried chicken leg
2  | Chicken freezed
3  | Vegetable soup with chicks
4  | Enchickened grains
Когда пользователь вводит курицу, я хочу сначала показать строку, которая начинается с поискового запроса (id 2 в таблице примера), и было бы идеально, если бы после этих записей были те, которые имеют поисковый запрос в виде целого слова (id 1), которое начинается с него, за которым следует любая другая строка, содержащая поисковый запрос.
Я спрашиваю об этом в первую очередь из-за необходимости нумерации страниц, поскольку в магазине есть тысячи записей, поэтому я не хочу создавать и объединять результаты для нескольких последующие запросы.
Я пытался сделать два запроса и объединить их, разбивая на страницы эти результаты, но у меня довольно сложный и довольно дорогой результирующий запрос, который затрагивает несколько отношений для товаров, таких как промо, категории, блоки и некоторые другие, поэтому он будет в два или более раз дороже, и я не хочу видеть, есть ли способ оптимизировать запрос.
Пример РЕДАКТИРОВАТЬ:
Если я введу курицу, я хочу чтобы сначала увидеть замороженную курицу, затем (в идеале, но не обязательно) жареную куриную ножку и после этого все, что содержит курицу. если приоритет в регулярном выражении: $chicken.* -> .*\bchicken.* -> %chicken% (последний для mysql)

Подробнее здесь: https://stackoverflow.com/questions/754 ... nline-shop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»