MariaDB MATCH AGAINST与单引号搜索词?

时间:2018-05-16 14:44:03

标签: sql mariadb

我正在尝试使用MATCH AGAINST找到一个有效的查询,同时搜索字词包含单引号。

数据库表中的示例数据:

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);

......还有更多。没有什么工作。

我正在使用MariaDB 10.1.33。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  • 我很确定收缩不被视为单词。
  • 而是将撇号视为单词分隔符,为您提供“我”和“m”。
  • 但你可能没有innodb_ft_min_token_size=1,所以这两个“单词”会被忽略。

FT存在局限性;你遇到过其中一个。