MySQL полнотекстовый поиск и минимальная длина поискового запроса - PullRequest
2 голосов
/ 13 июля 2010

Я использую полнотекстовый поиск в mysql для поиска в базе данных видео, однако, когда я ищу свои видео, некоторые результаты никогда не будут возвращены, потому что заголовок, который я ищу, меньше, чем ft_min_word_len, установленный в настройках MySQL.

mysql_query("SELECT MATCH(videoDescription) AGAINST('".$searchString."' IN NATURAL LANGUAGE MODE) 
               FROM videos 
              LIMIT ".$start.",".$end."");

Я попытался запустить консоль mysql, чтобы изменить настройку, однако он сказал мне, что это только для чтения.Единственное возможное решение, которое я видел, - переопределить настройку при запуске с помощью файлов опций.Как использовать файлы опций для перезаписи ft_min_word_len на 2 при запуске?

1 Ответ

5 голосов
/ 13 июля 2010

ft_min_word_len - системная переменная, которую необходимо установить при запуске сервера MySQL.

Это можно сделать, передав параметры в командной строке, используемой для запуска.MySQL или (рекомендуется, я бы сказал) , используя файл, содержащий опции - обычно, например, что-то вроде /etc/my.cnf или /etc/mysql/my.cnf должно сработать.


Для получения дополнительной информации о настройке системных переменных вы можете взглянуть на следующий раздел руководства:


Кроме того, не забывайте, что вам придется перестраивать свой полнотекстовый индекс после изменения этого параметра, чтобы новое значение учитывалось.

...