Sql 是否使用单报价搜索词匹配?
我试图找到一个工作查询,以便在搜索词包含单个引号时使用MATCH-on 数据库表中的示例数据:Sql 是否使用单报价搜索词匹配?,sql,mariadb,Sql,Mariadb,我试图找到一个工作查询,以便在搜索词包含单个引号时使用MATCH-on 数据库表中的示例数据: I'm a freak 搜索词示例: I'm 我尝试过的搜索查询: SELECT * FROM table WHERE MATCH (name) AGAINST ('"I\'m"' IN NATURAL LANGUAGE MODE); SELECT * FROM table WHERE MATCH (name) AGAINST ('"I\'m"' IN BOOLEAN MODE); SELECT
I'm a freak
搜索词示例:
I'm
我尝试过的搜索查询:
SELECT * FROM table WHERE MATCH (name) AGAINST ('"I\'m"' IN NATURAL LANGUAGE MODE);
SELECT * FROM table WHERE MATCH (name) AGAINST ('"I\'m"' IN BOOLEAN MODE);
SELECT * FROM table WHERE MATCH (name) AGAINST ('I\'m*' IN BOOLEAN MODE);
SELECT * FROM table WHERE MATCH (name) AGAINST ('(I\'m)*' IN BOOLEAN MODE);
…还有更多。什么都没用
我用的是10.1.33
有什么想法吗?- 我很确定缩略语不被视为词语
- 相反,撇号被视为单词分隔符,表示“I”和“m”
- 但是您可能没有
,因此这两个“单词”被忽略innodb\u ft\u min\u token\u size=1
金融时报存在局限性;您遇到了其中一个。请尝试使用双撇号
I'M
。你确定这是一个真正的撇号,而不是那些具有不同字符代码的花哨卷发吗?@Jacob H:是的,这是一个真正的撇号。;)谢谢你的建议,但是双撇号也不行(它是InnoDB还是MyISAM表?@stickybit InnoDB