我有一个网站的本地开发版本,我正在为其编写搜索功能并遇到问题,即我在 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)
在我的 PC 上,相关性字段显示 2,而在服务器上它应该显示 3。我电脑上的数据作为服务器的转储。两者都使用相同的字符集。虽然 MySQL 版本不同,PC:5.5.39,Server:5.1.73-1-log 但我认为这不会有所不同吗?
我比较了每个字符集的 xml 文件,它们是相同的。我不相信服务器源代码已被更改和重新编译。这是基于我在这里读到的:http: //dev.mysql.com/doc/refman/5.5/en/fulltext-fine-tuning.html
我曾认为默认行为是斜杠将被视为空格或单词分隔字符或其他字符。
任何人都阐明了为什么他们可能会有所不同?