在mysql全文搜索

时间:2017-05-07 13:00:26

标签: php mysql

我正在php中执行搜索功能,我允许BOOLEAN搜索,但当我输入包含@等字符的文本时,查询失败。

例如,当我搜索 @everyone 时,会抛出错误。 我试图通过添加双引号来解决这个问题,但它没有按预期工作,因为对于搜索 @everyone ,它可以工作但返回包含所有人和<的行强> @everone

我想知道如何在mysql全文搜索中搜索包含特殊字符的字词

这是我的查询(简化):

SELECT * FROM messages WHERE MATCH(body) AGAINST ('@everyone' IN BOOLEAN MODE)

1 个答案:

答案 0 :(得分:3)

默认情况下,MySQL不会将'@'视为单词的有效字符。如果您要对'@'进行处理,请查看有关该主题的documentation

完成更改后,您需要重新构建索引。