2

我在 mysql 中使用全文搜索来搜索我拥有的视频数据库,但是当我搜索我的视频时,某些结果将永远不会返回,因为我正在搜索的标题小于 MySQL 设置中设置的 ft_min_word_len。

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

我尝试启动 mysql 控制台来更改设置,但它告诉我它是只读的。我见过的唯一可能的解决方案是在启动时使用选项文件覆盖设置。如何在启动时使用选项文件将 ft_min_word_len 覆盖为 2?

4

1 回答 1

5

ft_min_word_len是一个系统变量,必须在 MySQL 服务器启动时设置。

这可以通过在用于启动 MySQL 的命令行上传递参数来完成,或者(推荐,我会说),使用包含选项的文件——通常,例如,类似/etc/my.cnf/etc/mysql/my.cnf应该做的伎俩。


有关设置系统变量的更多信息,您可以查看手册的以下部分:


另外,不要忘记在更改该参数后,您必须重建全文索引,以便将新值考虑在内。

于 2010-07-13T18:00:32.780 回答