2010-07-13 1 views
2

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

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

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

ответ

5

ft_min_word_len - системная переменная, которая должна быть установлена ​​при запуске сервера MySQL.

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


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


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

+0

Спасибо, я знаю, что нужно перестроить индекс полного текста. Документация просто выглядела немного толстой для меня, просто я редактирую my.cnf и добавляю строку ft_min_word_len = 2? http://dev.mysql.com/doc/refman/5.1/en/option-files.html – AFK

+0

Если что-нибудь, я не уверен, какая [группа] эта опция подпадает под. – AFK

+0

'[mysqld]'. '2' немного амбициозны! – bobince