我尝试创建全文索引。
我使用“ FULLTEXT KEY book_name (book_name) WITH PARSER ngram”。
建表后,“show create table”显示上面一行变成了“FULLTEXT KEY book_name (book_name) /*!50100 WITH PARSER
ngram
*/”
但它并没有真正起作用。我无法使用全文搜索。
我把源代码放在这里:db fiddle
你可以看出区别。我不知道为什么。
你为什么使用 MYISAM 作为引擎,使用 INNODB
CREATE TABLE tmp1 (
book_name char(32) NOT NULL,
FULLTEXT KEY book_name (book_name) /*!50100 WITH PARSER `ngram` */
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;
所以至少全文适用于英文文本,但如果它适用于亚洲文本我不知道
这相关吗?
---- 2018-07-27 8.0.12 全面上市 & 2018-07-27 5.7.23 全面上市 -- -- InnoDB -----
ngram 全文搜索解析器允许将逗号和句点字符标记为单词,这导致布尔和自然语言模式搜索结果之间不一致。逗号和句点字符不再标记化。 (错误号 27847697)