易截截图软件、单文件、免安装、纯绿色、仅160KB

基于MySQL数据库的UTF8中文网站全文检索的实现


http://hi.baidu.com/xiyouwang/blog/item/9f15bbee99b0ce202df5349e.html
现在的互联网上,很多网站都提供了全文搜索功能,浏览者可以通过输入关键字或者是短语来搜索特定的资料。在PHP+MySQL构架的网站中,通常的做法是通过SELECT查询的Like语句来进行搜索,这一办法存在搜索不够精确、以及效率非常低下的缺点。比如对一个有十几万条记录数据表的TEXT字段进行LIKE操作,可能会花费上近10秒钟左右,这对网站的浏览者来说是一个非常糟糕的使用体验。如何在海量的数据中能够快速的进行全文检索呢?MySQL提供了一个全文索引功能,也就是把字段设置上FULLTEXT索引属性,然后通过SELECT的MATCH AGAINST语句进行查找。
我们开发的一个纯英文站点TouchUs - The Global Yellow Pages & Business Directory(www.touchus.org)就是利用MySQL的这一功能,实现了对十多万条数据的平均全文检索时间小于0.5秒。但是在开发TouchUs的中文网站——城市黄页网时(www.city39.cn),碰到了新的问题。原来英文排版时词和词之间是通过空格区分的,FULLText可以完全支持,但是对中文或者是东亚文字就没有这么简单了,因为中文的词和词之间并没有明显的分隔,所以MySQL不支持中文字符的全文检索。
如何让MySQL也能支持中文的全文检索呢?偶然间产生了一个思路,那就是能不能在中文分词后,通过对中文进行编码转化成英文字符,这样就在中英文间建立一个特定的联系,然后再进行全文检索,这样不就实现了中文的全文索引了吗?经过试验,答案是肯定的。下面是在城市黄页网中实现的具体过程:
1. 建立一个单独的索引表,比如对应members表,我们建立一个members_index表。
用户信息表(members)                    用户信息全文索引表(members_index)
User_id                                              user_id
User_name                            &nb


相关文档:

Wireshark 抓包MySQL的查询语句

过滤器条件
mysql.query contains "SELECT"
..
..
..
..
MySQL Protocol
    Packet Length: 168
    Packet Number: 0
    Command
        Command: Query (3)
        State ......

MySQL启动与基本配置

MySQL启动与基本配置
MySQL是一个小型关系型数据库管理系统。开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司10亿美元收购。MySQL被广泛地应用在Internet的中小型网站中,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL ......

MySQL 备份和恢复策略

在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。本文主要对MyISAM表做备份恢复。
 
备份策略一:直接拷贝数据库文件(不推荐)
备份策略二:使用mysqlhotcopy备份数据库(完全备份,适合小型数据库备份)
备份策略 ......

mysql 安装

今天安装mysql遇到很多麻烦,想象原因,自己还是linux的初学者,同时受挫时总是要把问题的复杂系数放大。
1 安装冲突
根据《linux程序设计》上的指导,从官网下载了mysql-server-xx,mysql-devel-xx,mysql-client-xx,mysql-share-xx,然后执行
rpm -i *.rpm
结果二十几行conflict提示,说有文件与mysql-server-xx的安 ......

一个MYSQL的小问题

一下是一个SQL的小问题,困扰了3分钟,写下来记录一下。
数据库是MYSQL 5, 表的结构很简单, 就一个字段是abc,整型。
一下语句运行的结果是一样的。自己不留神,导致困扰了3分钟。
select * from table1 from abc = '123'
select * from table1 from abc = '123_1'
以上语句原来是查找是否数据存在,结果123_1和1 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号