MySQL 与斜杠匹配

标签 mysql escaping match slash against

我在使用 mysql 的匹配项搜索包含斜线(例如 ac/dc)的产品时遇到了一些问题。

似乎有特定的设置影响了这一点。在我的 Windows xammp 上,使用默认设置,每一个都很好用:

MATCH (content) AGAINST ('+ac/dc*' IN BOOLEAN MODE)

MATCH (content) AGAINST ("+ac/dc*" IN BOOLEAN MODE)

MATCH (content) AGAINST ('"+ac/dc*"' IN BOOLEAN MODE)

MATCH (content) AGAINST ("'+ac/dc*'" IN BOOLEAN MODE)

MATCH (content) AGAINST ('+ac\/dc*' IN BOOLEAN MODE)

但它们都不能在我们的 linux 系统生产服务器上运行(我不知道是哪个发行版,但它在 plesk 下)。

我所说的“不起作用”是什么意思。查询返回 0 行。生产服务器的 ft_min_word 为 2。

最佳答案

这是一个服务器问题,直到今天我仍然不知道如何修复它,我所做的是改变了整个系统的工作方式。

我有一个搜索表,我在其中存储搜索词,我在那里删除了斜杠,因此 AC/DC 变成了 ACDC,在搜索时,我修改了查询以再次删除斜杠,以便它尝试匹配 ACDC 并找到正确的行。

关于MySQL 与斜杠匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117964/

相关文章:

mysql - 使用带有多字节字符的 MySQL SELECT WHERE IN

mysql - 显示所有类型,不仅在MySQL中发送

python - 在 MacOSX10.6 上运行 python 服务器时出现 MySQLdb 错误

mysql - 插入文档时也不异常(exception)

c# - 在 C# 中取消转义转义的 url

c# - 如何在 razor foreach 中使用 html 和 escape razor?

php - 匹配两组数据的简单方法是什么?拉拉维尔 5.3

Lucene SpanNearQuery 部分匹配

C++类和freeglut(参数类型不匹配)

bash - 如何避免 heredoc 扩展变量?