MySQL全文搜索1个字符仅适用于MyISAM?

时间:2017-08-07 02:29:52

标签: mysql magento full-text-search innodb myisam

我有一个应该返回1个结果的查询

SELECT * FROM 
    `catalogsearch_fulltext_scope1` AS `search_index`
WHERE
    (MATCH (data_index) AGAINST ('+Product +Set +b' IN BOOLEAN MODE));

如果表引擎是MyISAM,它可以工作 但是,如果我将表格改回innodb,则不会返回任何内容 问题是由搜索+b

引起的

我使用show variables like 'ft_min%'检查值为1。

由于系统是Magento 2.1,如果我更改默认引擎,我不知道是否有任何问题。如果搜索条件在innodb中包含1个字符,我怎样才能得到结果?

1 个答案:

答案 0 :(得分:1)

ft_min_word_len适用于MyISAM;
innodb_ft_min_token_size适用于InnoDB。

更改设置时,请务必重建任何FULLTEXT索引。使用OPTIMIZE TABLEALTER TABLE