1、修改MySQL配置文件
[mysqld]
ngram_token_size=1
2、创建表的同时创建全文索引
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR (200),
body TEXT,
FULLTEXT (title, body) WITH PARSER ngram
) ENGINE = INNODB;
3、通过 alter table 的方式来添加
ALTER TABLE articles ADD FULLTEXT INDEX ft_index (title,body) WITH PARSER ngram;
4、直接通过create index的方式 (注意:ngram 分词 方式,创建索引消耗时间较长)
CREATE FULLTEXT INDEX ft_index ON articles (title,body) WITH PARSER ngram;
5、修改数据库表结构 MyISAM (关键)

6、执行查询语句
#浙江需要用 引号 包着,标记为不分词,不然会 拆分为 1浙 2江 3浙江
select * from data_info d WHERE MATCH(d.title) AGAINST(CONCAT('"浙江"') IN BOOLEAN MODE) LIMIT 0,10
7 查询结果示例

本文介绍如何在MySQL中使用N-Gram分词器创建全文索引,包括配置MySQL、创建表及索引的方法,并演示了具体的查询语句。
1188

被折叠的 条评论
为什么被折叠?



