@CybernatiC
Веб-разработчик

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

Добрый воскресный вечер уважаемые коллеги!
Стоит задача сделать поиск на сайте релевантным.
Сидим на shared хостинге и устанавливать sphinx нет возможности.
Пожалуйста подскажите алгоритмы как Вы бы реализовали подобный поиск.
Чтобы при введении "дастаука шашлик" поиск вывел результаты по запросу "доставка шашлыка" :-)
Буду очень признателен за куски кода.
  • Вопрос задан
  • 410 просмотров
Пригласить эксперта
Ответы на вопрос 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 конечно далеко, но пока на ранних стадиях стартапа этого достаточно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы