FULLTEXT INDEX全文索引
给现有的wxinfo表的sourceUrl 字段创建全文索引
ALTER TABLE wxinfo
ADD FULLTEXT INDEX sourceUrl (sourceUrl)
创建全文索引前:
SELECT * FROM wxinfo WHERE sourceUrl LIKE '%查询字符串%'
创建全文索引后:
SELECT * FROM wxinfo WHERE MATCH(sourceUrl) AGAINST('查询字符串')
删除全文索引
alter table tablename drop index indexname;
注意事项
1、mysql默认的全文检索的字符长度为4,使用:SHOW VARIABLES LIKE 'ft_min_word_len' ;可查看设置的检索长度。可修改mysql的my.ini 更改最小字符长度,
如在my.ini添加配置 项 ft_min_word_len=1,如果查询的字符串包含停止词,那么该停止词将会被忽略。
2、MySQL规定全文搜索中被搜索的单词所在的行数大于等于被搜索的所有行数的一半时候,就将被搜索单词作为Common word,即不被显示。
3:如果可能,请尽量先创建表并插入所有数据后再创建全文索引,而不要在创建表时就直接创建全文索引,因为前者比后者的全文索引效率要高。
- --创建wxinfo 表
- CREATE TABLE wxinfo (
- id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
- sourceUrl TEXT,
- FULLTEXT (sourceUrl) --在sourceUrl列上创建全文索引
- );
FULLTEXT使用语法: http://www.lao8.org/article_1602/MATCH_AGAINST_mysql
-- 查找product_name,description均包含Lenovo的记录
SELECT * FROM product WHERE MATCH(product_name,description) AGAINST('Lenovo') -- + 表示AND,即必须包含。- 表示NOT,即不包含。
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple -banana' IN BOOLEAN MODE); -- apple和banana之间是空格,空格表示OR,即至少包含apple、banana中的一个。
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('apple banana' IN BOOLEAN MODE); -- 必须包含apple,但是如果同时也包含banana则会获得更高的权重。
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple banana' IN BOOLEAN MODE); -- ~ 是我们熟悉的异或运算符。返回的记录必须包含apple,但是如果同时也包含banana会降低权重。但是它没有 +apple -banana 严格,因为后者如果包含banana压根就不返回。
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple ~banana' IN BOOLEAN MODE); --返回同时包含apple和banana或者同时包含apple和orange的记录。但是同时包含apple和banana的记录的权重高于同时包含apple和orange的记录。
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple +(>banana <orange)' IN BOOLEAN MODE);
网址:http://www.365mini.com/
-----------------------------------------------------------------------------
FULLTEXT INDEX全文索引的更多相关文章
- MySQL使用全文索引(fulltext index)---高性能
转载地址:https://blog.csdn.net/u011734144/article/details/52817766/ 1.创建全文索引(FullText index) 旧版的MySQL的全文 ...
- MySQL使用全文索引(fulltext index)
1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能用在MyISAM表格的char.varchar和text的字段上. 不过新版的MySQL5.6.24上InnoDB引擎也 ...
- 在MYSQL中运用全文索引(FULLTEXT index)
在MYSQL中使用全文索引(FULLTEXT index) MYSQL的一个很有用的特性是使用全文索引(FULLTEXT index)查找文本的能力.目前只有使用MyISAM类型表的时候有效(MyIS ...
- InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables
InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables 下表提供了FULLTEXT索引的元数据: mysql> SHOW TABLES FROM INFO ...
- Solution for automatic update of Chinese word segmentation full-text index in NEO4J
Solution for automatic update of Chinese word segmentation full-text index in NEO4J 1. Sample data 2 ...
- CNS数据库网站只用mysql自带的fulltext index功能就可实现了。
1)编辑脚本script.sql如下 ALTER TABLE `table_name` ADD FULLTEXT (`column_name`) 2)在mysql console下输入命令 SOURC ...
- [IR] Time and Space Efficiencies Analysis of Full-Text Index Techniques
文章阅读:全文索引技术时空效率分析 LIU Xiao-ZhuPENG Zhi-Yong 根据全文索引实现技术的不同,将其分为三大类: 索引技术 (倒排文件.签名文件 .后缀树与后缀数组) 压缩与索引混 ...
- MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档[原创]
[文章+程序 作者:张宴 本文版本:v1.0 最后修改:2008.07.01 转载请注明原文链接:http://blog.zyan.cc/post/356/] MySQL在高并发连接.数据库记录数较多 ...
- MySQL基础CRUD编程练习题的自我提升(1)
基础知识: 1.数据库的连接 mysql -u -p -h -u 用户名 -p 密码 -h host主机 2:库级知识 2.1 显示数据库: show databases; 2.2 选择数据库: us ...
随机推荐
- ng-repeat 设定select 选择项
<select class="form-control m-b" name="FPermissionID" ng-model="mgfunc.F ...
- 129、Java面向对象之static关键字一(修改static变量)
01.代码如下: package TIANPAN; class Book { // 描述的是同一个出版社的信息 private String title; // 普通属性 private double ...
- JS中的原始类型和判断方法
ECMAScript 中定义了 7 种原始类型: Boolean String Number Null Undefined Symbol(新定义) BigInt(新定义) 注意: 原始类型不包含 Ob ...
- C# Show()与ShowDialog()的区别-----转载
A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDialog方法 (窗体显示为模式窗体) Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下: 1 ...
- Vue 中引入echarts
安装依赖 npm install echarts -S 或者使用淘宝的镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org ...
- Linux文件系统层次结构标准FHS
文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的主要目录及目录内容.FHS由Linux基金会维护. 当前版本为3.0版,于2 ...
- Iptables与LVS——从入门到放弃
防火墙什么是防火墙?防火墙其实就是一个隔离的工具,工作于主机或者网络的边缘,对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配监测.防火墙可以简单地划分为两大类:主机防火墙 网络防火墙 ...
- 安装redis集群
1.搭建集群需要使用到官方提供的ruby脚本. 需要安装ruby的环境. 安装ruby yum install ruby yum install rubygems 2.将ruby包redis-3.0. ...
- 6专题总结-动态规划dynamic programming
专题6--动态规划 1.动态规划基础知识 什么情况下可能是动态规划?满足下面三个条件之一:1. Maximum/Minimum -- 最大最小,最长,最短:写程序一般有max/min.2. Yes/N ...
- JAVA实现单例模式的四种方法和一些特点
JAVA实现单例模式的四种方法和一些特点,需要的朋友可以参考一下 一.饿汉式单例类 复制代码 代码如下: public class Singleton { private Sing ...