mysql 全文检索中文解决方法及实例代码

 更新时间:2017年02月22日 16:32:09   投稿:lqh  
这篇文章主要介绍了mysql 全文检索中文解决方法及实例代码的相关资料,需要的朋友可以参考下

mysql 全文检索中文解决方法

            最近公司项目要求这样的功能,在数据库中检索中文,很是棘手,上网查询下资料,找的类似文章,这里及记录下,希望能帮助到大家,

实例代码:   

<?php
/*
mysql全文检索中文解决方案!
*/
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('display_errors', '1');
//数据库支持
class SaeMysql{
//phpmysql操作类
}
$DBS=new SaeMysql;
//数据加入
echo '2';
/*创建数据表*/
$DBS->runSql('CREATE TABLE IF NOT EXISTS `ces_articles` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT \'\',
`url` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `url` (`url`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC');
/*数据加入*/
$title='我爱大家啊,大家好';
$DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title='中国是什么';
$DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title='http://ask.1912news.com';
$DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title='问答系统';
$DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title='1912网';
$DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
$title='零九网络';
$DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')');
//搜索:
$_GET['q']="中国";
echo 'q';
if(isset($_GET['q'])){$sql=' match(url) against (\''.str_replace('\u','u',trim(json_encode($_GET['q']))).'\' IN BOOLEAN MODE)';}
$query = $DBS->getData('SELECT * FROM `ces_articles` where '.$sql.' LIMIT 10');
echo 'q';
if($query){
foreach ($query as $article){
echo $article['id'];
}
}

?>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • mysql间隙锁加锁11个规则(案例分析)

    mysql间隙锁加锁11个规则(案例分析)

    这篇文章主要介绍了mysql间隙锁加锁11个规则 ,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • ubuntu20.04配置mysql8.0的实现步骤

    ubuntu20.04配置mysql8.0的实现步骤

    本文主要介绍了ubuntu20.04配置mysql8.0的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • mysql 5.7.20解压版安装方法步骤详解(两种方法)

    mysql 5.7.20解压版安装方法步骤详解(两种方法)

    本文给大家分享mysql 5.7.20解压版安装方法步骤详解,本文给大家分享两种方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-11-11
  • mysql如何创建和删除唯一索引(unique key)

    mysql如何创建和删除唯一索引(unique key)

    这篇文章主要介绍了mysql如何创建和删除唯一索引(unique key)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • MySQL存储过程相互调用并获得错误码示例

    MySQL存储过程相互调用并获得错误码示例

    这篇文章主要介绍了MySQL存储过程相互调用并获得错误码,需要的朋友可以参考下
    2014-03-03
  • MySQL数据同步出现Slave_IO_Running: No问题的解决

    MySQL数据同步出现Slave_IO_Running: No问题的解决

    本人最近工作中遇到了Slave_IO_Running:NO报错的情况,通过查找相关资料终于解决了,下面这篇文章主要给大家介绍了关于MySQL数据同步出现Slave_IO_Running: No问题的解决方法,需要的朋友可以参考下
    2023-05-05
  • 老生常谈MYSQL模式匹配 REGEXP和like的用法

    老生常谈MYSQL模式匹配 REGEXP和like的用法

    下面小编就为大家带来一篇老生常谈MYSQL模式匹配 REGEXP和like的用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • mysql alter table 修改表命令详细介绍

    mysql alter table 修改表命令详细介绍

    MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段、索引、主键等等,本文章通过实例向大家介绍MYSQL ALTER TABLE语句的使用方法,需要的朋友可以参考一下。
    2016-10-10
  • MySQL数据库设计概念及多表查询和事物操作

    MySQL数据库设计概念及多表查询和事物操作

    数据库设计就是根据业务系统具体需求,结合我们所选用的DBMS,为这个业务系统构造出最优的数据存储模型,本文给大家介绍MySQL数据库设计概念及多表查询和事物操作,感兴趣的朋友一起看看吧
    2022-05-05
  • mysql.help_topic的作用以及使用方法

    mysql.help_topic的作用以及使用方法

    这篇文章主要给大家介绍了关于mysql.help_topic的作用以及使用方法,mysql.help_topic表是MySQL数据库中的一个系统表,它存储了MySQL数据库中所有可用的帮助主题的信息,需要的朋友可以参考下
    2023-11-11

最新评论