Я установил ft_min_word_len = 1
и работает show variables like 'ft%';
также показывает то же самое. Также были обновлены индексы Fulltext путем их сброса и повторного создания.MySql Fulltext search with 2 character word
Но когда я запускаю SELECT OriginalProductName FROM products WHERE MATCH (ProductName) AGAINST ('+samsung +tv' IN BOOLEAN MODE);
против строки, которая имеет «Samsung Hg55nc890xf 3d 1080p Led lcd Tv Hdtv» в качестве значения, он возвращает 0 результатов.
Это работает, как ожидается, когда я исполняю SELECT OriginalProductName FROM products WHERE MATCH (ProductName) AGAINST ('+samsung +led' IN BOOLEAN MODE);
Я использую MySQL 5.6.22. Innodb - это движок стола.
Как сделать MySql Полный текст поиска для поиска 2 символьных слов, таких как tv, 32, US etc ...?
У меня также есть 5.6.22 и меньше, чем 3 значения ft_min_word_len не работают. Я имею в виду, что я также вижу, что значение установлено равным 2 в отображаемых переменных, и я перестраиваю индекс, но он не вступает в силу. Самая короткая строка, которую я могу найти с полным текстом, по-прежнему занимает 3 символа. – bpgergo
Самое близкое решение, которое я нашел: 'SELECT ProductName FROM products WHERE ProductName LIKE '% tv%' AND MATCH (ProductName) AGAINST ('+ samsung' IN BOOLEAN MODE);' –