• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 全文限制

    • 仅对InnoDBMyISAM表支持全文搜索。
    • 分区表不支持全文搜索。请参见“分区限制”。
    • 全文搜索可用于大多数多字节字符集。例外是,对于Unicode,utf8可以使用字符集,但不能使用ucs2字符集。尽管无法使用列上的FULLTEXT索引ucs2,但是您可以IN BOOLEAN MODEucs2没有此类索引的列上执行搜索。

      该言论utf8也适用于utf8mb4,并为言论ucs2也适用于utf16utf16leutf32

    • 表意语言(例如中文和日语)没有单词定界符。因此,内置的全文分析器无法确定单词在这些语言和其他此类语言中的开头和结尾

      提供了与InnoDBand MyISAM表一起使用的基于字符的ngram全文语法分析器,该语法支持中文,日语和韩语(CJK),以及基于单词的MeCab语法分析器插件,该插件支持日语。

    • 尽管支持在单个表中使用多个字符集,但是FULLTEXT索引中的所有列都必须使用相同的字符集和校验规则。
    • MATCH()列列表必须完全在一些列的列表匹配FULLTEXT的表索引的定义,除非这MATCH()IN BOOLEAN MODE一个MyISAM表。对于MyISAM表,可以在非索引列上进行布尔模式搜索,尽管它们可能很慢。
    • to的参数AGAINST()必须是在查询评估期间恒定的字符串值。例如,这排除了表列,因为每行的表列可能不同。
    • FULLTEXT与非FULLTEXT搜索相比,搜索的索引提示更为有限。请参见“索引提示”。
    • 对于InnoDB所有DML操作(INSERTUPDATEDELETE)与全文索引以事务处理涉及列提交时间。例如,对于INSERT操作,插入的字符串被标记化并分解为单个单词。然后在提交事务时将各个单词添加到全文索引表中。结果,全文搜索仅返回已提交的数据。
    • 全文搜索不支持'%'字符。