我正在php
中执行搜索功能,我允许BOOLEAN
搜索,但当我输入包含@
等字符的文本时,查询失败。
例如,当我搜索 @everyone 时,会抛出错误。 我试图通过添加双引号来解决这个问题,但它没有按预期工作,因为对于搜索 @everyone ,它可以工作但返回包含所有人和<的行强> @everone
我想知道如何在mysql
全文搜索中搜索包含特殊字符的字词
这是我的查询(简化):
SELECT * FROM messages WHERE MATCH(body) AGAINST ('@everyone' IN BOOLEAN MODE)
答案 0 :(得分:3)
默认情况下,MySQL不会将'@'
视为单词的有效字符。如果您要对'@'
进行处理,请查看有关该主题的documentation。
完成更改后,您需要重新构建索引。