Установить новое значение для "ft_min_word_len" FULLTEXT в mysql

Я изменил на "ft_min_word_len" = 4 на my-innodb-heavy-4G.ini, расположенный на моем системном пути "C:\Program Files\MySQL\MySQL Server 5.1", но когда я запустил

SHOW VARIABLES LIKE 'ft_min_word_len'

Я получил результат value= 4. Я не нашел эту переменную в файле my.ini. Поэтому я также создал свою логику. Я скопировал переменную ft_min_word_len и поместил ее в файл my.ini, а теперь мой результат покажет value=3.

Но он не работает для трехзначного поиска. Я перезапустил сервер.

Как я могу достичь, чтобы иметь возможность искать и трехзначное значение.

Ответ 2

Это то, что я использую для получения всех необходимых команд восстановления:

SELECT DISTINCT CONCAT("REPAIR TABLE `", TABLE_SCHEMA, "`.`", 
TABLE_NAME, "` QUICK;") FROM information_schema.STATISTICS 
WHERE index_type = 'FULLTEXT';

Ответ 3

Думаю, вам стоит попробовать изменить индекс по индексу drop и снова добавить индекс. Это, безусловно, будет работать.

Ответ 4

Вы можете просто удалить и добавить индекс FULLTEXT

или сделайте это поэтапно и посмотрите, насколько оно будет расти заранее

CREATE TABLE models_new LIKE models;

ALTER TABLE models_new DROP INDEX name;

ALTER TABLE models_new ADD FULLTEXT name (name);

ALTER TABLE models_new DISABLE KEYS;

INSERT INTO models_new SELECT * FROM models;

ALTER TABLE models_new ENABLE KEYS;

ALTER TABLE models RENAME models_old;

ALTER TABLE models_new RENAME models;

Ответ 5

Я просто решил и решил аналогичную проблему. Проблема в моем случае состоит в том, что файл my.ini, который мне нужно изменить для изменения переменной ft_min_word_len, был в каталоге, который по умолчанию скрыт/защищен в Windows 7. Это: "c:/programdata/mysql/mysql server 5.7".

Проводник и поиск файлов Windows не показывают это местоположение, пока вы не перейдете в параметры папки, и укажите, что вы хотите видеть скрытые файлы/папки (и, возможно, защищенные файлы операционной системы - я сделал оба).

Сначала я создал файл my.cnf в разделе Program Files/MySQL Server 5.7. Но когда я перезапустил сервер, переменная ft_min_word_len не изменилась. Затем я набрал какой-то случайный текст, который, как я знал, должен вызвать ошибку, но сервер запустился, как обычно. Похоже, что MySQL не читал этот файл, хотя он был в одном из мест, указанных в тексте справки из клиентской оболочки MySQL.

Я считаю, что сервер MySQL начинает поиск .cnf/.ini файлов в порядке, указанном в тексте справки, но как только он найдет допустимый файл, останавливает поиск. Просто теория, но я могу с уверенностью сказать, что она не распознавала файлы конфигурации в других местах, которые она должна была искать.

Я понял, что это похоже на CSS, где каждый новый файл CSS переопределяет настройки в предыдущем. Очевидно, нет.

В любом случае, я надеюсь, что это поможет любому, кто сталкивается с той же проблемой.