博客
关于我
Mysql建立中英文全文索引(mysql5.7以上)
阅读量:798 次
发布时间:2023-02-12

本文共 1141 字,大约阅读时间需要 3 分钟。

MySQL全文索引技术指南

一、全文索引概念

全文索引是一种基于数据库技术的高级检索机制,能够通过分析文本内容中的关键词频率和重要性,快速匹配相关数据。MySQL全文索引支持多种检索模式,特别适用于文本存储和搜索场景。

二、MySQL全文索引版本支持

  • MySQL5.6及以下:仅支持MyISAM引擎的全文索引。
  • MySQL5.7及以上:支持InnoDB引擎的全文索引。

三、关键参数配置

  • 分词大小:默认为2,建议根据实际需求调整,体积影响需权衡。
  • 最小词长:默认为4,推荐修改为2以适应中文分词。

四、索引创建语法

方式一:建表时创建
CREATE TABLE articles (    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,    title VARCHAR(200),    content TEXT,    FULLTEXT (title, content) WITH PARSER ngram) ENGINE=InnoDB CHARACTER SET utf8mb4;
方式二:动态添加
ALTER TABLE articles ADD FULLTEXT INDEX idx_fulltext (title, content) WITH PARSER ngram;
方式三:直接创建索引
CREATE FULLTEXT INDEX idx_content ON articles(content);

五、查询方式

1. 自然语言模式
SELECT * FROM articles WHERE MATCH(title, content) AGAINST('关键词' IN NATURAL LANGUAGE MODE);
2. 布尔模式
SELECT * FROM articles WHERE MATCH(title, content) AGAINST('+apple -banana' IN BOOLEAN MODE);
3. 查询扩展
SELECT * FROM articles WHERE MATCH(title, content) AGAINST('关键词1 关键词2' WITH QUERY EXPANSION);

六、注意事项

  • 区分大小写:默认不分大小写,需调整字段字符集为utf8_bin
  • 排序规则:默认按相关性排序。
  • 字段一致性:确保MATCH列与FULLTEXT索引字段完全一致。
  • 避免重复检索:若仅需检索单字段,需分别创建索引。
  • 七、参考资料


    本文通过简洁的技术语言,系统介绍了MySQL全文索引的核心功能、配置方法及使用技巧,旨在为开发者提供实用指南。

    你可能感兴趣的文章
    mysql自动化同步校验_Shell: 分享MySQL数据同步+主从复制自动化脚本_20190313_七侠镇莫尛貝...
    查看>>
    Mysql自增id理解
    查看>>
    mysql自增id超大问题查询
    查看>>
    MySQL自定义变量?学不废不收费
    查看>>
    MySQL自带information_schema数据库使用
    查看>>
    MySQL获取分组后的TOP 1和TOP N记录
    查看>>
    mysql虚拟列表_动态网页制作-官方版合集下载-多特
    查看>>
    MySQL蜜罐反制获取攻击者信息
    查看>>
    Mysql表创建外键报错
    查看>>
    mysql表格调取数据库信息_MySQL™ 参考手册(获取有关数据库和表的信息)
    查看>>
    mysql表检查分析优化
    查看>>
    WARN: Establishing SSL connection without server‘s identity verification is not recommended.
    查看>>
    Mysql覆盖索引
    查看>>
    MySQL视图
    查看>>
    MySQL视图
    查看>>
    Mysql视图、变量、存储过程、函数
    查看>>
    Mysql视图、触发器、事务、储存过程、函数
    查看>>
    mysql视图建立MERGE算法和TEMPTABLE算法的区别(效率与表锁定问题)
    查看>>
    mysql视图,索引和存储过程
    查看>>
    mysql解压没有data_Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)...
    查看>>