MINI MINI MANI MO
let $restart_parameters = restart: --ngram_token_size=$ngram_token_size;
-- source include/restart_mysqld.inc
SELECT @@ngram_token_size;
# New row inserted should be tokenized correctly by new ngram_token_size
INSERT INTO articles (title, body) VALUES
('数据库管理系统','计算机是处理大量数据的理想工具');
-- echo # Some results are incorrect due to ngram_token_size mismatch
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数' IN BOOLEAN MODE);
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数据' IN BOOLEAN MODE);
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数据库' IN BOOLEAN MODE);
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数据库管理' IN BOOLEAN MODE);
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数据库管理系统' IN BOOLEAN MODE);
DROP INDEX ft_index ON articles;
DELETE FROM articles WHERE title = '数据库管理系统';
CREATE FULLTEXT INDEX ft_index ON articles(title, body) WITH PARSER ngram;
-- echo # Results are correct after rebuilding the index
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数' IN BOOLEAN MODE);
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数据' IN BOOLEAN MODE);
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数据库' IN BOOLEAN MODE);
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数据库管理' IN BOOLEAN MODE);
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('数据库管理系统' IN BOOLEAN MODE);
OHA YOOOO