Задать вопрос
@CybernatiC
Веб-разработчик

Как сделать поиск сайта php mysql без Sphinx и подобных?

Добрый воскресный вечер уважаемые коллеги!
Стоит задача сделать поиск на сайте релевантным.
Сидим на shared хостинге и устанавливать sphinx нет возможности.
Пожалуйста подскажите алгоритмы как Вы бы реализовали подобный поиск.
Чтобы при введении "дастаука шашлик" поиск вывел результаты по запросу "доставка шашлыка" :-)
Буду очень признателен за куски кода.
  • Вопрос задан
  • 410 просмотров
Подписаться 2 Оценить 4 комментария
Ответ пользователя Andrzej Wielski К ответам на вопрос (4)
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Совет: переходите на Laravel
Пример генерации запроса Eloquence Searchable:

SELECT *
FROM
  (SELECT `product_products`.*,
          max(CASE WHEN `product_products`.`name` = 'достаука'
              OR `product_products`.`name` = 'шашлик' THEN 150 ELSE 0 END + CASE WHEN `product_products`.`name` LIKE 'достаука%'
              OR `product_products`.`name` LIKE 'шашлик%' THEN 50 ELSE 0 END + CASE WHEN `product_products`.`name` LIKE '%достаука%'
              OR `product_products`.`name` LIKE '%шашлик%' THEN 10 ELSE 0 END) AS relevance
   FROM `product_products`
   WHERE (`product_products`.`name` LIKE '%достаука%'
          OR `product_products`.`name` LIKE '%шашлик%')
   GROUP BY `product_products`.`id`) AS `product_products`
WHERE `relevance` >= 2.5
ORDER BY `relevance` DESC
Ответ написан