Задать вопрос
@suzyry

Как сделать вывод результатов поиска по совпадениям?

Доброго всем дня.
Раньше реализовывал поиск через запрос на подобии:

SELECT * FROM table WHERE title LIKE "%слово%"

Всё отлично, но вот возникла необходимость эту результаты сортировать по их схожести, т. е. первыми выдаются те результаты, которые больше схожи или где больше данная строка совпадает (по количеству).

Например я ищу слово "заяц".
Записи должны выводится в таком порядке:
id | title
------------------------------------------------------------------------------
1| Заяц и ещё один заяц, да и ещё один заяц, после того зайца
2| Один заяц, да и ещё один заяц, после того зайца
3| Заяц и заяц
4| Заяц яц
5| Заяц

Сам вопрос - можно ли как-то реализовать такую сортировку через sql запрос или другими методами?

Спасибо за внимание!
  • Вопрос задан
  • 211 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
dimonchik2013
@dimonchik2013
non progredi est regredi
sphinxsearch
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
igruschkafox
@igruschkafox
Специалист по сопровождению БД MS SQL
в MS SQL надо использовать Data Quality Service - в результате запроса будет колонка Similarity (подобие - в процентах) по ней можно и сортировать

что то подобное должно быть и в других СУБД
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы