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

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

Добрый воскресный вечер уважаемые коллеги!
Стоит задача сделать поиск на сайте релевантным.
Сидим на shared хостинге и устанавливать sphinx нет возможности.
Пожалуйста подскажите алгоритмы как Вы бы реализовали подобный поиск.
Чтобы при введении "дастаука шашлик" поиск вывел результаты по запросу "доставка шашлыка" :-)
Буду очень признателен за куски кода.
  • Вопрос задан
  • 411 просмотров
Подписаться 2 Оценить 4 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
Не ну просто поиск сделайте по БД текстовый с индексом FULLTEXT а из исправления ошибок что на шареде бы работало... только в яндекс-спеллер запросы отправлять но и он ошибается.
В общем, поиск можно, исправление ошибок - нет.
Ответ написан
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
Ответ написан
frost18
@frost18
Программист PHP
Простого решения нет, если писать самому то получиться велосипед.
Ответ написан
Комментировать
@CybernatiC Автор вопроса
Веб-разработчик
Всем огромное спасибо =) интегрировал спеллер + релевантность mysql
все получилось.
До Sphinx конечно далеко, но пока на ранних стадиях стартапа этого достаточно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽