Forum Webscript.Ru
Общие => Базы данных => Тема начата: Vas от 02 Июля 2003, 14:16:21
-
Как реализовать сортировку по релевантности результатов поиска по базе данных (Mysql). Так чтобы результаты были расположены в порядке убывания по количеству слов, которые ввел пользователь. :confused:
Значит мы получили результаты (строки полученные mysql-fetch_array) в виде массива, также мы знаем сколько слов совпало с запросом юзера.
Была мысль что просто создать массив где ключем быдет кол-во совпавших слов, на телом уже отформатированная строка в принципе готовая к выводу на экран. Потом мы сортируем массив по ключам и выводим элементы... Потом выяснилось что если найдено две строки с одинаковым колвом слов, то элементы будут иметь одинаковые ключи, т.е. РНР обзовет первый такой результат, а последующие не станет. И вообще если у нас есть ключи скажем 1, 2 и далее 5, 6 (3 и 4 нету) то будут отсортированы только первые два, а 5,6 не будут. Значит такой вариант отпадает...
И в тоже время без массива както вроде и не обойтись...
Есть у кого-нибудь мысли на этот счет? Может гдето есть статья на этот счет (хотя я обласил весь РУнет и ничего не нашел) ? Скрипт где реализована такая сортировка? И вообще что я делал неправильно?
P.S. Немного сбивчиво, но в целом надеюсь понятно... :(
-
Я, блин, сначала хотел дать ссылки.
А потом передумал.
Смысл?
Если человек берется делать ТО, ЧЕМ ОН НЕ УМЕЕТ ПОЛЬЗОВАТЬСЯ? что у него получится? а ничего не получится.
Ответов в инете - масса. От мана по мускулю до статей на русском.
Надо только открыть яндекс.
но раз человек не умеет ПОЛЬЗОВАТЬСЯ поиском, причем не каки-то хитрым, а самым простым, для домохозяек - то куда ж он берется его ДЕЛАТЬ?
Если уж он делает поиск по базе, а вопрос свой задает в форуме по языку, который нужен, чтобы только результаты этого поиска отображать...
Выводов я писать не буду. Они и так очевидны.
-
RomikChef
Как надоели твои поучения....
-
Для начала прочти на http://detail.phpclub.net статьи по релевантному поиску. Если они тебе не помогут, продолжишь.
-
Итак что же я получил? Один меня "вывел на чистую воду". Согласен я пытался заново изобрести велосипед, причем весьма глупо. С массивами я тож сглупил. Как выяснилось пытался обойтись минимальным общением с базой. И оказалось что правильный ответ опять же лежит в запросе к базе. Спасибо доброму человеку Максу, который вместо критики по крайней мере послал в правильное направление.
-
А RomikChef\' я вообще не понял. Ты про что? Про глупости?