前面我们已经知道了mysql全文检索的原理以及分词技巧,同时也知道mysql全文检索只支持英文,那么中文该如何来检索呢?

其基本思路是把中文转换为英文,这里要用到两个表,一个是原始内容表,一个是原始内容转换为英文后的表(也叫索引表),它的搜索过程是这样的:先对 用户输入的信息进行分词,然后把这些词转换为英文,这样就可以利用mysql的全文检索对检索表进行匹配,得出id再从原始内容表查询。

下面来说下两种mysql中文检索的方案:

分别建一个内容表、一个内容索引表

CREATE TABLE IF NOT EXISTS `news` (

`id` int(8) NOT NULL auto_increment,

`content` varchar(100) default NULL,

PRIMARY KEY (`id`),

) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

/* http://www.manongjc.com/article/1444.html */

CREATE TABLE IF NOT EXISTS `news_index` (

`id` int(8) NOT NULL auto_increment,

`nid` int(8) NOT NULL,

`key` text,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

1、将中文转换为base64编码

$data = '我要坚持学php';

$data = base64_encode($data); //返回的结果就是编码后的字符串,这里省略了分词这个步骤

但是这种方式有个缺点,当用户搜索拼音的时候检索不出结果;

2、将中文转换为拼音

网上有很多将中文转换为拼音的源码,具体如何实现大家可以网上搜索《php中文转换成拼音代码》

mysql全文检索 中文_mysql全文索引不支持中文的解决方案相关推荐

  1. mysql latin1 中文_mysql 的 latin1 支持中文

    By fireworks2@foxmail.com 初学者往往会犯糊涂,mysql 的默认字符集 latin1 是否支持中文? 初步分析表明,是的,确实支持中文!(是初步的结论,只做了初步的分析) 1 ...

  2. latin mysql 中文_mysql的latin1支持中文

    初学者往往会犯糊涂,mysql 的默认字符集 latin1 是否支持中文? 初步分析表明,是的, 确实支持中文! (是初步的结论,只做了初步的分析) 1. 先来看看latin1(参考百度百科) Lat ...

  3. nginx文件服务器中文路径,nginx配置文件支持中文路径.htm

    nginx配置文件支持中文路径 nginx配置文件支持中文路径 例子: server { color=#ff0000>charset utf-8; listen 8088;         se ...

  4. mysql 中文搜索插件_支持中文的MySQL 5.1+ 全文检索分词插件

    经过不停的尝试和努力,以最新的 mysql 5.1.11-beta 为基础,制作的分词插件已经测试成功,现在发布如下. 由于 mysql 5.1.x 本身的架构作了修改,所以增加分词直接以插件形式方式 ...

  5. mysql查询中文_MySQL中like查询中文问题的解决

    在做MySQL的Like查询是发现中文搜索总是不争取,从网上找到了几个解决方法,大家可以看看:方法一: 解决方法是对于包含中文的字段加上quot 在做MySQL的Like查询是发现中文搜索总是不争取, ...

  6. (转)全文检索技术学习(三)——Lucene支持中文分词

    http://blog.csdn.net/yerenyuan_pku/article/details/72591778 分析器(Analyzer)的执行过程 如下图是语汇单元的生成过程:    从一个 ...

  7. mysql连接中文_MYSQL远程连接查询中文乱码

    当在服务器远程连接mysql服务器的时候,登录后编码方式latin1:接着我在mysql命令窗口修改为utf-8后,再次远程登录,编码方式依然为latin1: #mysql -h 192.168.1. ...

  8. mysql 全文检索 教程_MySQL:详细说明MySQL全文检索图文详细教程

    软件安装:装机软件必备包 本站电脑知识提供电脑入门知识,计算机基础知识,计算机网络应用基础知识,电脑配置知识,电脑故障排除和电脑常识大全,帮助您更好的学习电脑!不为别的,只因有共同的爱好,为中国互联网 ...

  9. 怎么改mysql的搜索引擎_MySQL全文索引实现简单版搜索引擎实例代码

    前言 只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的) char.varchar.text类型字段能创建全文索引(fulltext index ...

  10. basename php 中文,php basename不支持中文怎么办

    不久前遇到一段代码使用了basename,我文件名是中文的,每次返回都只有后缀.后来发现basename函数有猫腻,不支持中文文件名,但凡有以中文开头的文件名将被忽略了. 函数说明/** * 从路径中 ...

最新文章

  1. 用户空间和内核空间通讯之【proc文件系统】
  2. 《四世同堂》金句摘抄(二)
  3. MATLAB中的S-Function的用法(C语言)
  4. 微信小程序订票选座PHP后台网站MySQL数据库和无前端小程序版本两个程序
  5. C#—接口和抽象类的区别?
  6. oracle怎么存视频地址,oracle的警告文件存储方式和地址
  7. 架构运维篇(二):Centos7/Linux安装部署Tomcat环境
  8. mysql 转字符串 blob_BLOB转换为字符串或图像/ PHP或SQL
  9. PDF转CAD经典软件有什么
  10. glibc 知:手册08:消息翻译
  11. android 卸载残留代码,完全卸载AndroidStudio(示例代码)
  12. 锐捷服务器虚拟化技术_交换机虚拟化技术.ppt
  13. 短线上岸西安电子科技大学考研811信号与电路分析经验分享
  14. android变身蓝牙键鼠,使用BluetoothHidDevice将安卓手机同时模拟成鼠标和键盘
  15. 英语语法——状语和状语从句
  16. Visual Studio Code(VSCODE)修改字体、字号
  17. CPP-week thirteen
  18. 电子邮件SMTP协议原始命令码和工作原理
  19. centos7网卡链路聚合
  20. 马云和史玉柱到底谁说了谎?

热门文章

  1. RPM-YUM-源码
  2. 用博客记录成长的历程
  3. Ethernet/IP以太网接M12 X-Coded 协议:port1(Ethernet连接)
  4. arm920t架构cpu详解
  5. 如何把图片制作做成GIF表情包?分享在线快速制作GIF图片的方法
  6. js动态时钟,倒计时,去掉数组中重复的元素,抽奖系统随机抽取5名不能重复
  7. 自己封装的一个checkbook工具
  8. http 502错误
  9. MySql根据字段名查询重复记录并删除!只保留一条
  10. Google Play上架总结(三)Google Play 上架流程