我需要搜索关键字 包含-或/ 例如:2019-45或2019/1258 当我搜索2019-45 MySQL时返回两个记录,其中包含: 第一个为2019-45,第二个为2019/45(这两个数据对我而言并不相同)。 在我的请求(布尔模式)下,我使用““ 2019-45”“
将(title)与(mykeysword在模式下)匹配> 0
显然,即使使用双引号,全文也不会考虑-或/
如何考虑-或/? 谢谢 迪迪埃
感谢您的回答
这是我的代码
CREATE DEFINER = devops_admin @%PROCEDURE sp_cherche(在f_texte VARCHAR(255)中)开始选择id_rech,titre,MATCH(titre)AGAINST(布尔型模式下的f_texte)作为制表符的引号模式)> 0 END
当我打电话时:
sp_recherche('“ 2018-45”')ou sp_recherche('“ 2018/45”')
在我的示例2个答案中,这两个调用给出的结果相同。
这不是我的MySQL服务器,而是提供程序。谢谢您的链接,但我对地图上的任何内容都没有表示怀疑(对不起)。如果您理解,需要说-和/是角色。
谢谢
Didier
答案 0 :(得分:1)
MySQL全文搜索的默认字符集无法将-
或/
字符识别为“字母”。要使那些字符识别为字母,可以修改字符集,如《 MySQL参考手册》中所述:
https://dev.mysql.com/doc/refman/5.7/en/fulltext-fine-tuning.html#fulltext-modify-character-set