MySQL 全文搜索 1 个字符仅适用于 MyISAM?
MySQL fulltext search 1 character works with MyISAM only?
我有一个查询应该 return 1 个结果
SELECT * FROM
`catalogsearch_fulltext_scope1` AS `search_index`
WHERE
(MATCH (data_index) AGAINST ('+Product +Set +b' IN BOOLEAN MODE));
如果 table 引擎是 MyISAM,它可以工作。
但是,如果我将 table 改回 innodb,它 return 什么都没有。
问题是搜索+b
引起的
我用 show variables like 'ft_min%'
检查值是 1。
由于系统是Magento 2.1,我不知道如果我更改默认引擎会有什么问题。在innodb中搜索条件包含1个字符如何获取结果?
ft_min_word_len
用于 MyISAM;
innodb_ft_min_token_size
适用于 InnoDB。
更改设置时,请务必重建所有 FULLTEXT 索引。使用 OPTIMIZE TABLE
或 ALTER TABLE
.
我有一个查询应该 return 1 个结果
SELECT * FROM
`catalogsearch_fulltext_scope1` AS `search_index`
WHERE
(MATCH (data_index) AGAINST ('+Product +Set +b' IN BOOLEAN MODE));
如果 table 引擎是 MyISAM,它可以工作。
但是,如果我将 table 改回 innodb,它 return 什么都没有。
问题是搜索+b
我用 show variables like 'ft_min%'
检查值是 1。
由于系统是Magento 2.1,我不知道如果我更改默认引擎会有什么问题。在innodb中搜索条件包含1个字符如何获取结果?
ft_min_word_len
用于 MyISAM;
innodb_ft_min_token_size
适用于 InnoDB。
更改设置时,请务必重建所有 FULLTEXT 索引。使用 OPTIMIZE TABLE
或 ALTER TABLE
.