我正在使用 MySQL 5.6.10 的 InnoDB FTS,并希望更改布尔运算符的默认行为。
注意在实现这个特性时,MySQL 使用了有时被称为隐含布尔逻辑的东西,其中
[+] 代表与
[-] 代表不
[无运算符] 暗示 OR
我想要的行为:
- [无运算符] 暗示 AND
- [|] 代表或
ft_boolean_syntax
命令行格式 --ft_boolean_syntax=name 选项文件格式 ft_boolean_syntax 变量名称 ft_boolean_syntax 变量作用域 全局动态变量 是 允许的值 类型 字符串 默认 +-><()~*:""& 布尔全文支持的运算符列表使用 IN BOOLEAN MODE 执行的搜索。请参阅第 12.9.2 节,“布尔全文搜索”。
默认变量值为 '+ -><()~*:""&|'。更改值的规则如下:
运算符函数由字符串中的位置确定。
替换值必须是 14 个字符。
每个字符必须是 ASCII 非字母数字字符。
第一个或第二个字符必须是空格。
除了位置 11 和 12 中的短语引用运算符外,不允许重复。这两个字符不需要相同,但它们是唯一可能的两个。
位置 10、13 和 14(默认设置为“:”、“&”和“|”)保留用于将来的扩展。
所以我尝试将 ft_boolean_syntax 更改为 ' |-><()~*:""&+' 但这对我不起作用。没有给定的运算符仍然暗示 OR。
我究竟做错了什么?