美文网首页
MySQL 创建全文索引

MySQL 创建全文索引

作者: 代码的搬运工 | 来源:发表于2020-02-04 16:15 被阅读0次

    alter table 表名 add fulltext index 索引名(列名, 列名);

    全文索引只有在char、varchar、text类型列才能创建,使用的时候需要match、against关键字的配合,

    select * from 表名 where match(列名, 列名) against ('查询字符串');

    强烈注意:MySQL自带的全文索引只能用于数据库引擎为MyISAM的数据表,如果是其他数据引擎,则全文索引不会生效。此外,MySQL自带的全文索引只能对英文进行全文检索,目前无法对中文进行全文检索。如果需要对包含中文在内的文本数据进行全文检索,我们需要采用Sphinx或Coreseek技术来处理中文。

    目前,使用MySQL自带的全文索引时,如果查询字符串的长度过短将无法得到期望的搜索结果。MySQL全文索引所能找到的词默认最小长度为4个字符。另外,如果查询的字符串包含停止词,那么该停止词将会被忽略。

    如果可能,请尽量先创建表并插入所有数据后再创建全文索引,而不要在创建表时就直接创建全文索引,因为前者比后者的全文索引效率要高。

    相关文章

      网友评论

          本文标题:MySQL 创建全文索引

          本文链接:https://www.haomeiwen.com/subject/xywrxhtx.html