mysql ngram fullText index不使用UTF8MB4_BIN
我正在使用UTF8MB4_BIN用于标题列,因此我希望它的fullText案例敏感搜索。但是实际上查询返回空。
CREATE TABLE `test_table` (
`id` int NOT NULL AUTO_INCREMENT,
`title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `title` (`title`) WITH parser ngram) ENGINE=InnoDB AUTO_INCREMENT=173 DEFAULT
CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
INSERT INTO test_table value (NULL, 'Hello');
SELECT *
FROM test_table
WHERE match(title) against ('Hello' in boolean MODE) > 0; // return empty
但是,如果我插入并查询“ Hello”,NGRAM解析器是否尝试将其较低为查询术语?
I'm using utf8mb4_bin for title column so i expected it's fulltext case-sensitive search. But actually the query return empty.
CREATE TABLE `test_table` (
`id` int NOT NULL AUTO_INCREMENT,
`title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `title` (`title`) WITH parser ngram) ENGINE=InnoDB AUTO_INCREMENT=173 DEFAULT
CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
INSERT INTO test_table value (NULL, 'Hello');
SELECT *
FROM test_table
WHERE match(title) against ('Hello' in boolean MODE) > 0; // return empty
But it works if i insert and query "hello", does ngram parser try to lowercase to query terms?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论