упорядочить по результатам поиска? - PullRequest
0 голосов
/ 18 августа 2011

, если в базе данных есть слова nice car, nice, nice, nice car и мы искали слово nice: как ORDER BY (в списке) такие как: nice, nice, nice car, nice car или, если искомое слово nice car ORDER BY (в списке), например: nice car, nice car, nice, nice?

  • слова в базе данных: nice car, nice, nice, nice car
  • nice => nice, nice, nice car, nice car
  • хороший автомобиль => nice car, nice car, nice, nice

мой запрос:

$find = $this->input->post('find');
    $where  =   "name LIKE '%$find%' OR 
            star LIKE '%$find%' OR
            address LIKE '%$find%'";
$query = $data['results'] = $this->db->query("SELECT @rownum:=@rownum+1 rownum, t.*
        FROM (
        SELECT *
        FROM my_table
        WHERE 
            $where
        ORDER BY id desc
        LIMIT $offset, $coun_page       
        ) t,
        (SELECT @rownum:=0) r");

1 Ответ

5 голосов
/ 18 августа 2011

MySQL не является поисковой системой. Я настоятельно рекомендую использовать что-то, что действительно предназначено для этой задачи (например, Sphinx, Solr или Lucene).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...