|
MySQL.RU - Webboard
Вернуться
Хитрая сортировка в ORDER BY.Как это сделать? (Ivan) 01/10/2008 - 10:36:21
Re: Хитрая сортировка в ORDER BY.Как это сделать? (Антон) 01/10/2008 - 12:53:01
Re: Хитрая сортировка в ORDER BY.Как это сделать? (Антон) 01/10/2008 - 13:11:54
Re: Хитрая сортировка в ORDER BY.Как это сделать? (Антон) 09/10/2008 - 10:59:03
> Original message text:
> From: Ivan - 01/10/2008 - 10:36:21
> Subject:Хитрая сортировка в ORDER BY.Как это сделать?
> -----------------
> Всем привет !
> Задача. Произвести выборку из БД подходящих записей и отсортировать их в ЗАПРОСЕ на основе релевантности поиска.
> Поясняю.
> SELECT * FROM main_db WHERE name LIKE '%word1%' OR name LIKE '%word2%' ORDER BY ?????????
> Т.е. отбираются записи в которых в поле 'name' входит хотя бы одно слово из поискового запроса word1 или word2.
> Это просто. Но выборка должна быть отсортирована по релевантности. Т.е. сначала идти точные совпадения, потом менее точные и т.д.
> Не знаю, как это сделать в рамках SQL запроса. Как это сделать?
> в PHP есть интересная функция levenshtein($a, $b). Она возвращает кол-во символов. которое надо изменить, чтобы из строки $b сделать строку $a. Идеально подходит для моей сортировки, но как ее связать с запросом ? Или есть какой-то другой вариант?
> Помогите, пожалуйста. Уже 2 дня мучаюсь.
>
From: Антон - 01/10/2008 - 13:11:54
Subject:Хитрая сортировка в ORDER BY.Как это сделать?
-----------------
Да совсем забыл
Можно почитать http://www.mysql.ru/docs/man/Fulltext_Search.html
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
34254
|
|