За последние 24 часа нас посетил 22581 программист и 1010 роботов. Сейчас ищут 625 программистов ...

Сортировка по релевантности поиска PHP MySql

Тема в разделе "PHP и базы данных", создана пользователем German, 2 май 2019.

  1. German

    German Новичок

    С нами с:
    4 окт 2018
    Сообщения:
    9
    Симпатии:
    0
    Добрый день, имею такой код:
    Код (Text):
    1. $search = explode(" ", $_POST['search']);
    2.                     $count = count($search);
    3.                     $array = array();
    4.                     $i = 0;
    5.                     foreach($search as $key) {
    6.                         $i++;
    7.                         if($i < $count) $array[] = "CONCAT (`name`) LIKE '%".$key."%' OR "; else $array[] = "CONCAT (`name`) LIKE '%".$key."%'";
    8.                     }
    9.                     $sql = "SELECT * FROM `product` WHERE ".implode("", $array);
    10.                  
    11.                     $query = mysqli_query($connection, $sql);
    12.                     while($rom = mysqli_fetch_assoc($query)) echo $rom['name'];
    Поиск работает, все выдает, только к сожалению не сортирует по релевантности.
    Код писал по урокам, так что ни как не могу сообразить как тут нужно сортировать результаты. Буду очень благодарен за совет, а если кто сможет объяснить (Или дать ссылку на содержательный материал) по данной теме что бы я смог въехать и сам написать).

    Как вариант можно вместо сортировки по релевантности, предложить решение где будет поиск выдавать только те ответы где совпали все слова (Главное что бы не было обязательным условием их точная последовательность)
     
    #1 German, 2 май 2019
    Последнее редактирование: 2 май 2019
  2. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @German, есть полнотекстовый поиск, зачем изобретать костыли?