博客
关于我
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全文索引的核心功能、配置方法及使用技巧,旨在为开发者提供实用指南。

    你可能感兴趣的文章
    Necurs僵尸网络攻击美国金融机构 利用Trickbot银行木马窃取账户信息和欺诈
    查看>>
    Needle in a haystack: efficient storage of billions of photos 【转】
    查看>>
    NeHe OpenGL教程 07 纹理过滤、应用光照
    查看>>
    NeHe OpenGL教程 第四十四课:3D光晕
    查看>>
    Neighbor2Neighbor 开源项目教程
    查看>>
    neo4j图形数据库Java应用
    查看>>
    Neo4j图数据库_web页面关闭登录实现免登陆访问_常用的cypher语句_删除_查询_创建关系图谱---Neo4j图数据库工作笔记0013
    查看>>
    Neo4j图数据库的介绍_图数据库结构_节点_关系_属性_数据---Neo4j图数据库工作笔记0001
    查看>>
    Neo4j图数据库的数据模型_包括节点_属性_数据_关系---Neo4j图数据库工作笔记0002
    查看>>
    Neo4j安装部署及使用
    查看>>
    Neo4j电影关系图Cypher
    查看>>
    Neo4j的安装与使用
    查看>>
    Neo4j(1):图数据库Neo4j介绍
    查看>>
    Neo4j(2):环境搭建
    查看>>
    Neo4j(3):Neo4j Desktop安装
    查看>>
    Neo4j(4):Neo4j - CQL使用
    查看>>
    Neo图数据库与python交互
    查看>>
    NEO改进协议提案1(NEP-1)
    查看>>
    Neo私链
    查看>>
    NervanaGPU 项目使用教程
    查看>>