全文索引-FullText

一、数据结构

倒排索引:存储单词与文档的映射

1、正向索引
正向索引结构如下:
文档1的ID→单词1的信息;单词2的信息;单词3的信息…
文档2的ID→单词3的信息;单词2的信息;单词4的信息…

2、反向索引

反向索引结构如下:

单词1→文档1的ID;文档2的ID;文档3的ID…
单词2→文档1的ID;文档4的ID;文档7的ID…

3、倒排索引

通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。

具体示例可参考如下博客

Elasticsearch数据结构——倒排索引_elasticsearch倒排索引-CSDN博客

二、使用方法

1、创建索引

create table fulltext_test (id int(11) NOT NULL AUTO_INCREMENT,content text NOT NULL,tag varchar(255),PRIMARY KEY (id),FULLTEXT KEY content_tag_fulltext(content,tag)  // 创建联合全文索引列
) ENGINE=MyISAM DEFAULT CHARSET=utf8;create fulltext index content_tag_fulltexton fulltext_test(content,tag);alter table fulltext_testadd fulltext index content_tag_fulltext(content,tag);

2、修改索引

先删除,再新建

3、删除索引

drop index content_tag_fulltexton fulltext_test;alter table fulltext_testdrop index content_tag_fulltext;

4、使用索引

select * from 表名 where match (字段名) against (‘检索内容’);match() 函数中指定的列必须和全文索引中指定的列完全相同,否则就会报错,无法使用全文索引select * from fulltext_test where match(content,tag) against('xxx xxx');

三、全文索引的优点

1、MySQL不可以like左匹配,一些字段无法匹配

2、MySQL在大量数据的情况下,全文索引的匹配效率更高,但可能存在精度问题

四、全文索引在MySQL中的使用限制

1、MySQL 5.6 以前的版本,只有 MyISAM 存储引擎支持全文索引

2、MySQL 5.6 及以后的版本,MyISAM 和 InnoDB 存储引擎均支持全文索引

3、只有字段的数据类型为 char、varchar、text 及其系列才可以建全文索引

五、全文检索建议使用ElasticSearch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/839427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWS安全性身份和合规性之Inspector

Amazon Inspector 是一项漏洞管理服务,可持续扫描您的 AWS 工作负载,以查找软件漏洞和意外网络泄露。Amazon Inspector 会自动发现和扫描正在运行的亚马逊 EC2 实例、亚马逊弹性容器注册表 (Amazon ECR) Container Registry 中的容器映像,以及…

Joomla 3.7.0 (CVE-2017-8917) SQL注入漏洞环境

1 漏洞概述 Joomla是一个基于PHP的内容管理系统(CMS),广泛应用于各类网站。2017年,Joomla 3.7.0版本被发现存在SQL注入漏洞(CVE-2017-8917),攻击者可以利用该漏洞对数据库进行未授权查询或操作…

前端常用的状态码

常用状态码 常用状态码大家可以记一下,所有的也记不住,简洁几个字概括一下,方便大家进行记忆。 200 OK:请求成功 401 Unauthorized:未授权,未登录 403 Forbidde:已登录,但是对于…

The Sandbox 和 Bitkub 联手增强东南亚元宇宙中心

作为去中心化游戏虚拟世界和区块链平台的先驱,The Sandbox 正与泰国领先的区块链网络 Bitkub Blockchain Technology Co., Ltd. 展开创新合作。双方合作的目的是将Bitkub元宇宙的影响力扩展到The Sandbox,建立一个元宇宙中心,向用户承诺从 Bi…

C# GetManifestResourceStream 获取项目资源为null解决方案(亲测)

GetManifestResourceStream 获取项目资源为null 使用Stream s assembly.GetManifestResourceStream(Assembly.GetExecutingAssembly().GetName().Name resourceName) 获取资源文件,返回流为null,如图所示: 解决方案 设置资源文件的 属性&…

centos服务器常用清理脚本分享

做开发时,经常遇到服务器监控报警,日志占据大量的磁盘空间,需要清理。每次手动清理很麻烦。这里分享一些定时清理的脚本,减轻运维的工作量。将sh脚本与crontab定时任务结合,实现定时清理。 nacos日志清理脚本 nacos也…

WPF--几种常用定时器Timer汇总

1.WPF中常用4种Timer: System.Windows.Threading.DispatcherTimer(UI操作线程) 这是一个基于WPF Dispatcher的计时器。它可以在指定的时间间隔内触发Tick事件,并在UI线程上执行回调函数,方便进行UI更新操作。 System.Timers.Timer 这是一个基…

<MySQL> 【数据类型】

目录 一、数据类型一览 二、整型 (一)INT (二)BIT 三、浮点数 (一)FLOAT (二)DECIMAL (三)如何选择 四、字符 (一)CHAR &a…

超简单白话文机器学习 - 支持向量机SVM(含算法讲解,公式全解,手写代码实现,调包实现)

1. 支持向量机SVM 支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化&#xff…

Redis教程(十四):Redis的三主三从集群搭建

Redis集群 Redis的集群是一种允许多个Redis节点在网络上互联并协作的技术,它为处理大规模数据提供了更高的性能和可扩展性,同时具有数据高可用性和故障容忍性。 以下是Redis集群的一些主要特性: 数据分片 在Redis集群中,数据会被分成多个部分,每个部分在不同的Redis节…

优雅草便民工具v2.0.4更新

优雅草便民工具v2.0.4更新 优雅草便民工具v2.0.4更新 2024年5月20日v2.0.4更新优雅草便民工具youyacao-tools-增加淘宝联想词功能和ai绘画功能apk下载 https://fenfacun.youyacao.com/tools204.apk 介绍 优雅草便民工具是一款由成都市一颗优雅草科技有限公司打造的便民查询公益…

JVM(8):虚拟机性能分析和故障解决工具之jinfo工具

1 jinfo(Configuration Info forJava)作用 实时地查看和调整虚拟机各项参数 2 命令格式 jinfo [options] 参数解释: 第一个参数:options no option:输出全部的参数和系统属性-flag name:输出对应名称的参数-flag [|-]name&am…

6. Spring面试题汇总

Java全栈面试题汇总目录-CSDN博客 1. 什么是Spring框架? Spring是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。 我们一般说Spring框架指的都是Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助…

如何轻松访问 Android 手机和平板电脑上的内部存储

概括 在数字设备领域,我们的智能手机充当虚拟金库,在其范围内存储个人数据、珍贵记忆和重要信息的宝库。因此,我们将指导您如何访问 Android 上的内部存储,确保您可以安全、轻松地检查内部文件系统并管理文件。同时,您…

无人机监测系统:天空之眼,精准掌握地球脉动

在当今信息化快速发展的时代,无人机技术以其独特的优势,正在成为资源调查、环境监测和规划支持的重要工具。无人机监测系统通过搭载多种传感器和设备,能够快速、高效地获取地表信息,为决策提供科学依据。 项目背景 随着全球环境…

Llama 3 CPU推理优化指南

备受期待的 Meta 第三代 Llama 现已发布,我想确保你知道如何以最佳方式部署这种最先进的 (SoTA) LLM。在本教程中,我们将重点介绍如何执行仅权重量化 (WOQ) 来压缩 8B 参数模型并改善推理延迟,但首先,让我们讨论一下 Meta Llama 3…

CSS基础(第五天)

目录 定位 为什么需要定位 定位组成 边偏移 静态定位 static(了解) 相对定位 relative 绝对定位 absolute(重要) 子绝父相的由来 固定定位 fixed (重要) 粘性定位 sticky(了解&#xff…

常见算法(2)

1.冒泡排序 定义&#xff1a;相邻的数据两两比较&#xff0c;小的放前面&#xff0c;大的放后面。 public class test {public static void main(String [] arg) {int [] arr {2,4,5,3,6,1};//冒泡排序&#xff0c;排序次数arr.length-1for(int i0;i<arr.length-1;i) {f…

二叉树(详解)

在了解二叉树之前呢我们先来了解一下树形结构&#xff0c;因为二叉树就是树形结构的一种特殊情况&#xff0c;它有这非常好的性质&#xff0c;是很常用的一种结构。 目录 一.什么是树形结构&#xff1f; 二.树形结构常见的名词 三.树的存储 四.二叉树 1.二叉树的概念 2.…

动态规划--0-1背包问题

动态规划 动态规划--0-1背包问题穷举法&#xff08;把所有情况列出来&#xff0c;比较得到总价值最大的情况&#xff09;动态规划算法01背包问题递归实现&#xff08;不带备忘录的自顶向下法&#xff09;01背包问题-递归实现&#xff08;带备忘的自顶向下法&#xff09;01背包问…