MySQL全文索引应用简明教程

MySQL从5.7版本开始支持内置的ngram全文检索插件,专门用于处理中文语义分词。为了使用ngram插件,首先需要在MySQL配置文件中设置分词大小,例如:[mysqld]ngram_token_size=2。这一步设置分词大小,越大则索引体积越大,需根据实际情况调整。创建示例表结构时,可以使用如下SQL语句:CREATE TABLE articles ...
MySQL全文索引应用简明教程
MySQL从5.7版本开始支持内置的ngram全文检索插件,专门用于处理中文语义分词。为了使用ngram插件,首先需要在MySQL配置文件中设置分词大小,例如:[mysqld]ngram_token_size=2。这一步设置分词大小,越大则索引体积越大,需根据实际情况调整。

创建示例表结构时,可以使用如下SQL语句:

CREATE TABLE articles (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT(title, body) WITH PARSER ngram) ENGINE=InnoDB CHARACTER SET utf8mb4;

插入示例数据如下:

mysql> SELECT * FROM articles;

在ngram插件中,可以显式指定全文检索表源:

SET GLOBAL innodb_ft_aux_table="new_feature/articles";

通过系统表查看数据划分情况:

SELECT * FROM information_schema.INNODB_FT_INDEX_CACHE LIMIT 20, 10;

示例检索操作包括:

1. 自然语言模式检索:如SELECT COUNT(*) FROM articles WHERE MATCH(title, body) AGAINST('数据库' IN NATURAL LANGUAGE MODE);

2. 布尔模式检索:如SELECT * FROM articles WHERE MATCH(title, body) AGAINST('+数据库+管理' IN BOOLEAN MODE);

3. 查询扩展模式:如SELECT * FROM articles WHERE MATCH(title, body) AGAINST('数据库' WITH QUERY EXPANSION);

以上演示了ngram插件在MySQL中的应用,更多性能测试请自行进行。

N-gram作为常用的中文分词算法,已在互联网上广泛应用,这次集成到MySQL中,预计不会对性能造成太大影响。2024-11-14
mengvlog 阅读 13 次 更新于 2025-07-19 23:37:37 我来答关注问题0
  • CREATE TABLE articles (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT(title, body) WITH PARSER ngram) ENGINE=InnoDB CHARACTER SET utf8mb4;插入示例数据如下:mysql> SELECT * FROM articles;在ngram插件中,可以显式指定全文检索表源:SET G...

  •  翡希信息咨询 最全数据分析资料汇总(含python、爬虫、数据库、大数据、tableau、统计学等)

    Oracle SQL Developer 入门:Oracle SQL Developer的入门教程。 MySQL 5.1参考中文手册:MySQL 5.1版本的详细中文手册。 SQL 手册(github ):GitHub上提供的SQL手册。 Oracle SQL 语言文档:Oracle数据库的SQL语言文档。 MySQL索引背后的数据结构及算法原理:深入讲解MySQL索引的原理。 PostgreSQL 9.5.3 中文文档:PostgreSQL数...

  •  深空见闻 驾校系统安装教程(简明易懂的安装指南)

    一、系统安装前的准备工作 确保拥有一台性能可靠的计算机和稳定的网络连接。了解驾校系统的硬件和软件要求,确保计算机满足安装条件。二、下载驾校系统安装文件 访问驾校系统官方网站,找到“下载”或“产品”页面。下载最新版本的安装文件,并确保文件完整无损。三、解压安装文件 将下载好的安装文件解压缩到指...

  •  greystar_cn GitHub 上有哪些值得推荐的开源电子书

    第1 部分: 构建基本应用程序 第2 部分: JSF 生命周期、转换、检验和阶段监听器 用Eclipse Europa 进行 Web 开发 第1 部分: Eclipse Java EE 第2 部分: PHP 开发工具 第3 部分: Ruby Development Toolkit 和 RadRails 使用JavaServer Faces 构建 Apache Geronimo 应用程序 第1 部分: 使用 Eclipse 和 Apache M...

  •  猪八戒网 设计模式js阮一峰?

    AngularJS入门教程 构建自己的AngularJS 在Windows环境下用Yeoman构建AngularJS项目 zepto简明中文手册 Sea.js HelloSea.js CoffeeScript CoffeeScriptCookbook TheLittleBookonCoffeeScript中文版 ExtJS Ext4.1.0中文文档 Chrome扩展及应用开发 JavaScript入门教程 PHP PHP调试技术手册(PDF) XDebug2中文手册(译)(CHM) PHP之...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部