【发布时间】:2015-01-01 19:51:42
【问题描述】:
我有一个网站的本地开发版本,我正在编写搜索功能并遇到问题,我在 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,但我认为这不会有所不同?
我比较了每个 charset xml 文件,它们是相同的。我不相信服务器源代码已被更改和重新编译。这是基于我在这里读到的:http://dev.mysql.com/doc/refman/5.5/en/fulltext-fine-tuning.html
我认为默认行为是斜杠将被视为空格或单词分隔字符或其他字符。
有人解释了为什么他们可能会有所不同吗?
【问题讨论】: