php - 按结果搜索排序?

标签 php mysql sql codeigniter

如果数据库中有单词 nice car, nice, nice, nice car 并且我们搜索单词 nice:ORDER BY(列出) 那些像:nice, nice, nice car, nice car 或者如果搜索词 nice car ORDER BY(列出)像:好车,好车,好,好 ?

  • 数据库中的单词:nice carnicenicenice 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");

最佳答案

MySQL 不是搜索引擎。我强烈建议使用真正适合这项任务的东西(例如 Sphinx、Solr 或 Lucene)。

关于php - 按结果搜索排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7098761/

相关文章:

php - MYSQL转Google图表(折线图)

mysql - 无法连接到 AWS 中的 mysql

MySQL SQL_NO_CACHE 不工作

mysql - SQL - 如何选择日期是星期一还是表中的第一个日期?

java - 通过 ResultSet 在 Reverse 中检索数据时出现 NullPointerException

PHP/MySQL 在表达到一定行数后停止更新

php - 将字符串添加到除最后一个之外的所有循环项目

python - 如何在 SQLAlchemy ORM 中选择带有 "as"的查询并连接表

mysql - 更新mysql中的任何字段时自动更新时间戳

php - 包含 MySQL 内容的 Bootstrap 数据表