@suzyry

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

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

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

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

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

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

Спасибо за внимание!
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ответы на вопрос 3
dimonchik2013
@dimonchik2013
non progredi est regredi
sphinxsearch
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
igruschkafox
@igruschkafox
Специалист по сопровождению БД MS SQL
в MS SQL надо использовать Data Quality Service - в результате запроса будет колонка Similarity (подобие - в процентах) по ней можно и сортировать

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

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

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