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

    你可能感兴趣的文章
    Network Sniffer and Connection Analyzer
    查看>>
    Network 灰鸽宝典【目录】
    查看>>
    Network-Emulator Network-Emulator-Toolkit网络模拟器使用
    查看>>
    Networkx写入Shape文件
    查看>>
    NetworkX系列教程(11)-graph和其他数据格式转换
    查看>>
    Networkx读取军械调查-ITN综合传输网络?/读取GML文件
    查看>>
    NetworkX:是否为每个节点添加超链接?
    查看>>
    network小学习
    查看>>
    Netwox网络工具使用详解
    查看>>
    Net与Flex入门
    查看>>
    Net任意String格式转换为DateTime类型
    查看>>
    net包之IPConn
    查看>>
    net发布的dll方法和类显示注释信息(字段说明信息)[图解]
    查看>>
    Net和T-sql中的日期函数操作
    查看>>
    Net处理html页面元素工具类(HtmlAgilityPack.dll)的使用
    查看>>
    Net操作Excel(终极方法NPOI)
    查看>>
    Net操作配置文件(Web.config|App.config)通用类
    查看>>
    net网络查看其参数state_dict,data,named_parameters
    查看>>
    Net连接mysql的公共Helper类MySqlHelper.cs带MySql.Data.dll下载
    查看>>
    NeurIPS(神经信息处理系统大会)-ChatGPT4o作答
    查看>>