前言:
以下内容 毫不客气滴说:均来自网络 上面的三个词混着在正文中
正文:
Mysql5.6分词查询:和5.7稍微有些差别
详情见:https://www.cnblogs.com/ibook360/p/5073313.html(其中例子执行的结果和文中不一样)
查询关键字和查询列内容见相关度进行检索,可利用全文索引提高匹配速度
MATCH(col*) AGAINST(expr[search_modifier])要匹配的列,要找的内容,以相关性排序、由高到低
前提
在MySQL5.6及其以下,只有MyISAM表支持全文检索(英文)。
在MySQL5.6以上Innodb引擎表也提供支持全文检索。
相应字段建立FULLTEXT索引
CREATE TABLE `zzx_articles` (
`id` int(10) unsigned NOT NULL auto_increment,
`title` char(254) default NULL COMMENT '标题',
`content` text COMMENT '内容',
`author` char(60) default NULL COMMENT '作者',
`title_fc` char(254) default NULL COMMENT '标题的分词',
`content_fc` text COMMENT '内容的分词',
PRIMARY KEY (`id`),
FULLTEXT KEY `zzx_title_fc` (`title_fc`),//看这里
FULLTEXT KEY `zzx_content_fc` (`content_fc`),//看这里
FULLTEXT KEY `zzx_title_con_fc` (`title_fc`,`content_fc`)//看这里
) ENGINE=MyISAM DEFAULT CHARSET=utf8
MATCH(title, content)里的字段必须和FULLTEXT(title, content)里的字段一模一样
如果只要单查title或content一个字段,那得另外再建一个 FULLTEXT(title) 或 FULLTEXT(content)
检索方式:
1、自然语言检索&#x