mysql - 如何正确禁用 MariaDB 的 InnoDB 全文停用词?

标签 mysql mariadb full-text-search innodb

我已经尝试了各种用户在堆栈溢出方面建议的很多方法,但似乎都不起作用,而且当用户使用 关键字时,这确实是有问题的。

例如,我尝试过:

  1. 正在创建带有值列的空 innodb 表...
innodb_ft_enable_stopword=1
innodb_ft_server_stopword_table=db_name/table_name

这不起作用。

  • Modyfing my.cnf on [mysqld] 部分...
  • innodb_ft_enable_stopword=OFF
    
  • 设置 GLOBALSESSION 为...
  • SET @@SESSION.innodb_ft_enable_stopword = 'OFF';
    
  • 通过sudo service mysql restart重新启动mariadb并删除/重新创建索引。
  • 我没有选择,如果有人可以,请在这里写下禁用该功能的正确方法。

    最佳答案

    由于您的存储可能是 innodb 或 aria(myisam),因此您实际上可以尝试以下步骤:

    • 在 my.cnf 中设置变量
    innodb_ft_enable_stopword=OFF
    ft_stopword_file=''
    
    • 重新启动 mariadb(可能是 service mysql restart 或重新启动 docker 容器)
    • 重建索引,对于innodb的表,这样
    analyze table <YOUR_TABLE>;
    

    对于 aria(myisam) 表,这将是

    repair table <YOUR_TABLE>;
    

    关于mysql - 如何正确禁用 MariaDB 的 InnoDB 全文停用词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524591/

    相关文章:

    mysql - MariaDB PCRE 给出错误 1644。我错过了什么?

    c# - 使用具有一对多关系的表/实体创建 Lucene.net 文档索引

    sql-server-2008 - 对 SQL Server 中的名称字段进行部分匹配

    php - 在 php 中创建一个循环以在查询中工作

    mysql - 合并来自一个表的计数和不同于另一个表的计数

    mysql - AppMaker 记录保存失败 : 'id' field value is required, 但找到 'null' 。 (自动递增)

    java - 我面临这个问题 E/catch === : org. json.JSONException:SorrySignUpFirst 没有值

    mysql - 一张表多字段到另一张表

    mysql - mariadb odbc 抛出无效指针错误

    ruby-on-rails - Elasticsearch匹配字段=值(不包含)