Автор Тема: Поиск по базе данных Mysql  (Прочитано 4032 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Поиск по базе данных Mysql
« : 02 Июля 2003, 14:16:21 »
Как реализовать сортировку по релевантности результатов поиска по базе данных (Mysql). Так чтобы результаты были расположены в порядке убывания по количеству слов, которые ввел пользователь. :confused:
Значит мы получили результаты (строки полученные mysql-fetch_array) в виде массива, также мы знаем сколько слов совпало с запросом юзера.
 Была мысль что просто создать массив где ключем быдет кол-во совпавших слов, на телом уже отформатированная строка в принципе готовая к выводу на экран. Потом мы сортируем массив по ключам и выводим элементы... Потом выяснилось что если найдено две строки с одинаковым колвом слов, то элементы будут иметь одинаковые ключи, т.е. РНР обзовет первый такой результат, а последующие не станет. И вообще если у нас есть ключи скажем 1, 2 и далее 5, 6 (3 и 4 нету) то будут отсортированы только первые два, а 5,6 не будут. Значит такой вариант отпадает...
И в тоже время без массива както вроде и не обойтись...
Есть у кого-нибудь мысли на этот счет? Может гдето есть статья на этот счет (хотя я обласил весь РУнет и ничего не нашел) ? Скрипт где реализована такая сортировка? И вообще что я делал неправильно?
P.S. Немного сбивчиво, но в целом надеюсь понятно... :(

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Поиск по базе данных Mysql
« Ответ #1 : 02 Июля 2003, 15:14:18 »
Я, блин, сначала хотел дать ссылки.
А потом передумал.
Смысл?

Если человек берется делать ТО, ЧЕМ ОН НЕ УМЕЕТ ПОЛЬЗОВАТЬСЯ? что у него получится? а ничего не получится.
Ответов в инете - масса. От мана по мускулю до статей на русском.
Надо только открыть яндекс.
но раз человек не умеет ПОЛЬЗОВАТЬСЯ поиском, причем не каки-то хитрым, а самым простым, для домохозяек - то куда ж он берется его ДЕЛАТЬ?

Если уж он делает поиск по базе, а вопрос свой задает в форуме по языку, который нужен, чтобы только результаты этого поиска отображать...

Выводов я писать не буду. Они и так очевидны.

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Поиск по базе данных Mysql
« Ответ #2 : 03 Июля 2003, 02:37:09 »
RomikChef
Как надоели твои поучения....

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Поиск по базе данных Mysql
« Ответ #3 : 03 Июля 2003, 03:42:10 »
Для начала прочти на http://detail.phpclub.net  статьи по релевантному поиску. Если они тебе не помогут, продолжишь.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Поиск по базе данных Mysql
« Ответ #4 : 07 Июля 2003, 19:21:56 »
Итак что же я получил? Один меня "вывел на чистую воду". Согласен я пытался заново изобрести велосипед, причем весьма глупо. С массивами я тож сглупил. Как выяснилось пытался обойтись минимальным общением с базой. И оказалось что правильный ответ опять же лежит в запросе к базе. Спасибо доброму человеку Максу, который вместо критики по крайней мере послал в правильное направление.

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Поиск по базе данных Mysql
« Ответ #5 : 07 Июля 2003, 19:25:53 »
А RomikChef\' я вообще не понял. Ты про что? Про глупости?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28