小编Tru*_*ham的帖子

Mysql ngram 全文索引不适用于 utf8mb4_bin

我使用 utf8mb4_bin 作为标题列,所以我希望它是全文区分大小写的搜索。但实际上查询返回空。

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
Run Code Online (Sandbox Code Playgroud)

但如果我插入并查询“hello”,它会起作用,ngram 解析器是否会尝试小写来查询术语?

mysql full-text-search case-sensitive n-gram uppercase

7
推荐指数
0
解决办法
294
查看次数