【问题标题】:Can I change "ft_min_word_len" on shared hosting?我可以更改共享主机上的“ft_min_word_len”吗?
【发布时间】:2009-06-21 18:17:53
【问题描述】:

我在共享主机上有 MySQL。有没有办法在没有管理员权限的情况下更改ft_min_word_len 的值?

我找到了一种解决方法,其中每个少于 4 个字符的单词都用 _ 或其他字符进行补充,每个搜索的少于 4 个字符的关键字也是如此。

有没有更好的,或者更简洁的方法可以让全文搜索对短词起作用?

【问题讨论】:

    标签: mysql full-text-search


    【解决方案1】:

    不幸的是,ft_min_word_len 是一个全局系统变量,不能动态设置:参见MySQL's online docs。更改它意味着重建每个 FULLTEXT 索引,顺便说一句,所以你可以看到他们为什么不希望非管理员搞砸它。

    我担心您的解决方法(或完全等效的方法)是解决您遇到的问题的唯一方法。对不起! (但是,考虑到这一点的赞美!)。

    【讨论】:

    • 如果你有管理员权限:我没有测试过这个,但是如果你的数据是静态的,你可以暂时设置ft_min_word_len = 1,重启服务器,建立你的数据库和索引,完成后重置ft_min_word_len 并重新启动。然后你的数据库会留下你想要的索引吗?
    • 我用的是xampp,怎么找到ft_min_word_len
    【解决方案2】:

    我知道这是一篇旧帖子,但如果有人对服务器有 shell 访问权限(即使是非 root 用户)和 mysql 客户端工具,你也可以这样做

    myisamchk --recover --ft_min_word_len=2 mytable.MYI
    

    无论如何,您可能还必须安排它每天运行以包含新值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 2021-05-28
      • 2018-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多