代码之家  ›  专栏  ›  技术社区  ›  AFK

mysql全文搜索和最小搜索词长度

  •  2
  • AFK  · 技术社区  · 15 年前

    我在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?

    1 回复  |  直到 15 年前
        1
  •  5
  •   Pascal MARTIN    15 年前

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

    这可以在用于启动mysql的命令行上传递参数,或者 (我想说是推荐的) ,使用包含选项的文件——例如,通常 /etc/my.cnf /etc/mysql/my.cnf 应该有技巧。


    有关设置系统变量的更多信息,请参阅本手册的以下部分:


    另外,不要忘记,在更改该参数之后,必须重新生成全文索引,因此需要考虑新的值。