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 表空间及索引的查看方法

    mysql 表空间及索引的查看方法

    mysql 表空间及索引的查看方法,需要的朋友可以参考下。
    2011-07-07
  • MySQL的 DDL和DML和DQL的基本语法详解

    MySQL的 DDL和DML和DQL的基本语法详解

    SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,这篇文章主要介绍了MySQL的 DDL和DML和DQL的基本语法,需要的朋友可以参考下
    2022-07-07
  • MySQL动态字符串处理DYNAMIC_STRING

    MySQL动态字符串处理DYNAMIC_STRING

    本文主要给大家简单讲解了mysql如何使用DYNAMIC_STRING来进行动态字符串的保存,非常的实用,有需要的小伙伴可以参考下
    2016-10-10
  • MySQL数据库备份与恢复方法

    MySQL数据库备份与恢复方法

    网站数据对我们对站长来说都是最宝贵的,我们平时应该养成良好的备份数据的习惯。
    2010-12-12
  • mysql使用mysqld_multi部署单机多实例的方法教程

    mysql使用mysqld_multi部署单机多实例的方法教程

    这篇文章主要给大家介绍了关于mysql使用mysqld_multi部署单机多实例的相关资料,文中通过示例代码将实现的步骤一步步介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • mysql中包含查询的五种方法总结

    mysql中包含查询的五种方法总结

    这篇文章主要给大家介绍了关于mysql中包含查询的五种方法, 在MySQL中,包含语句是一种用来包含其他查询语句的语句,通常用在WHERE语句中,需要的朋友可以参考下
    2023-08-08
  • mysql的union和union all用法详解

    mysql的union和union all用法详解

    union 和 union all 的区别是,union 会自动压缩多个结果集合中的重复结果,而 union all 则将所有的结果全部显示出来,不管是不是重复,本文给大家介绍mysql的union和union all用法,感兴趣的朋友一起看看吧
    2023-08-08
  • 关于对mysql语句进行监控的方法详解

    关于对mysql语句进行监控的方法详解

    这篇文章主要给大家介绍了关于对mysql语句进行监控的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Mysql实现简易版搜索引擎的示例代码

    Mysql实现简易版搜索引擎的示例代码

    前段时间,因为项目需求,需要根据关键词搜索聊天记录,所以本文实现了Mysql实现简易版搜索引擎,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • MySQL报错 table “xxx” doesn‘t exit的解决

    MySQL报错 table “xxx” doesn‘t exit的解决

    本文主要介绍了MySQL报错 table “xxx” doesn‘t exit的解决,主要原因是英文字母大小写敏感导致,下面就来介绍一下解决方法,感兴趣的可以了解一下
    2023-10-10

最新评论