MySQL匹配在2台服务器上提供2个不同的结果

MySQL匹配在2台服务器上提供2个不同的结果,mysql,match,against,Mysql,Match,Against,我有一个本地开发版本的网站,我正在为其编写搜索功能,并且遇到了一个问题,我在我的PC上得到的结果与服务器不同。问题在于数据中存在斜杠。例如,该字段包含如下内容 Amazing Product Name/Exp 并在两台服务器上运行以下查询: SELECT name, MATCH(name) AGAINST('amazing,name,exp' IN BOOLEAN MODE) AS relevance FROM `product_description` WHERE MATCH(name)

我有一个本地开发版本的网站,我正在为其编写搜索功能,并且遇到了一个问题,我在我的PC上得到的结果与服务器不同。问题在于数据中存在斜杠。例如,该字段包含如下内容

Amazing Product Name/Exp
并在两台服务器上运行以下查询:

SELECT name, MATCH(name) AGAINST('amazing,name,exp' IN BOOLEAN MODE) AS relevance 
FROM `product_description` 
WHERE MATCH(name) AGAINST('amazing,name,exp' IN BOOLEAN MODE)
在我的电脑上,相关性字段显示为2,而在服务器上,它应该显示为3。我的电脑上的数据作为服务器的转储。两者都使用相同的字符集。虽然MySQL版本有所不同,PC:5.5.39,服务器:5.1.73-1-log,但我不认为这会有什么不同

我比较了每个服务器上的字符集xml文件,它们是相同的。我认为服务器源代码根本没有被更改和重新编译。这是基于我在这里读到的内容:

我原以为这条斜线的默认行为是将斜线视为空格或单词分隔字符或其他任何字符


有人解释了他们为什么会有不同吗?

我找到了原因,我把重点放在了斜杠上,但真正的原因是ft\u min\u word\u len mysql系统变量。默认值为4,但服务器为3。我在电脑上编辑了my.ini文件并添加了

ft_min_word_len = 3
重新启动mysql并重新索引数据,现在它显示与服务器相同的结果