1let $restart_parameters = restart: --ngram_token_size=$ngram_token_size;
2-- source include/restart_mysqld.inc
3
4SELECT  @@ngram_token_size;
5
6# New row inserted should be tokenized correctly by new ngram_token_size
7INSERT INTO articles (title, body) VALUES
8  ('数据库管理系统','计算机是处理大量数据的理想工具');
9
10-- echo # Some results are incorrect due to ngram_token_size mismatch
11
12SELECT * FROM articles WHERE
13        MATCH(title, body) AGAINST('数' IN BOOLEAN MODE);
14
15SELECT * FROM articles WHERE
16        MATCH(title, body) AGAINST('数据' IN BOOLEAN MODE);
17
18SELECT * FROM articles WHERE
19        MATCH(title, body) AGAINST('数据库' IN BOOLEAN MODE);
20
21SELECT * FROM articles WHERE
22        MATCH(title, body) AGAINST('数据库管理' IN BOOLEAN MODE);
23
24SELECT * FROM articles WHERE
25        MATCH(title, body) AGAINST('数据库管理系统' IN BOOLEAN MODE);
26
27DROP INDEX ft_index ON articles;
28
29DELETE FROM articles WHERE title = '数据库管理系统';
30
31CREATE FULLTEXT INDEX ft_index ON articles(title, body) WITH PARSER ngram;
32
33-- echo # Results are correct after rebuilding the index
34
35SELECT * FROM articles WHERE
36        MATCH(title, body) AGAINST('数' IN BOOLEAN MODE);
37
38SELECT * FROM articles WHERE
39        MATCH(title, body) AGAINST('数据' IN BOOLEAN MODE);
40
41SELECT * FROM articles WHERE
42        MATCH(title, body) AGAINST('数据库' IN BOOLEAN MODE);
43
44SELECT * FROM articles WHERE
45        MATCH(title, body) AGAINST('数据库管理' IN BOOLEAN MODE);
46
47SELECT * FROM articles WHERE
48        MATCH(title, body) AGAINST('数据库管理系统' IN BOOLEAN MODE);
49