MySQL 全文搜索到 3.23.23 时,MySQL 开始支持全文索引和搜索。全文索引在 MySQL 中是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE INDEX 在 CHAR、VARCHAR 或 TEXT 列上创建。对于大的数据库,将数据装载到一个没有 FULLTEXT 索引的表中,然后再使用 ALTER TABLE (或 CREATE INDEX) 创建索引,这将是非常快的。将数据装载到一个已经有 FULLTEXT 索引的表中,将是非常慢的。 就是说你必须在co1,co2列上建立全文检索索引,导出的表结构中有FULLTEXT (co1,co2)select * from tbl_name where MATCH (co1,co2) AGAINST ('$a')得到的结果中将包含符合$a中规则的记录全文搜索支持下面的操作符: + 
一个领头的加号表示,该词必须出现在每个返回的记录行中。 - 
一个领头的减号表示,该词必须不出现在每个返回的记录行中。 缺省的 (当既没有加号也没有负号被指定时)词是随意的,但是包含它的记录行将被排列地更高一点。这个模仿没有 IN BOOLEAN MODE 修饰词的 MATCH() ... AGAINST() 的行为。 < > 
这两个操作符用于改变一个词的相似性值的基值。< 操作符减少基值,> 操作符则增加它。参看下面的示例。 ( ) 
圆括号用于对子表达式中的词分组。 ~ 
一个领头的否定号的作用象一个否定操作符,引起行相似性的词的基值为负的。它对标记一个噪声词很有用。一个包含这样的词的记录将被排列得低一点,但是不会被完全的排除,因为这样可以使用 - 操作符。 * 
一个星号是截断操作符。不想其它的操作符,它应该被追加到一个词后,不加在前面。 " 
短语,被包围在双引号"中,只匹配包含这个短语(字面上的,就好像被键入的)的记录行。 注意,在win32下的mysql版本不能正确的支持中文至少mysql4.0.1及以下不行。需要做变通处理