文档章节

关于MySQL的FULLTEXT实现全文检索的注意事项

Near_Je
 Near_Je
发布于 2015/05/14 00:20
字数 368
阅读 3712
收藏 6

对于英文,MySQL的FULLTEXT属性来实现全文检索是相当方便且高效的,但是在使用过程中需要注意一些事项。

首先对我们对需要进行检索的字段添加FULLTEXT属性(假设已经建表):

SQL:

alter table table_name add fulltext index(filed_1,filed_2);

接下来查询数据:

SQL:  

 SELECT * FROM table_name WHERE MATCH (filed_1,filed_2) AGAINST ('keyword');

此处涉及到一个很重要的注意事项:

MySQL规定全文搜索中被搜索的单词所在的行数大于等于被搜索的所有行数的一半时候,就将被搜索单词作为Common word,即不被显示。(具体条件需要查阅资料确定)

因此,假设在测试的时候,表中只有一行数据,所以无论怎么执行上述查询语句,返回的结果总是为空。不必惊慌,多加几条没有待查关键词的数据就会有结果啦~

当然,MySQL提供了更加强大的查询结果过滤:

SQL:    

SELECT * FROM table_name WHERE MATCH (filed_1,filed_2) AGAINST ('+keyword_1 -keyword_2' IN BOOLEAN MODE);

这样,就会返回包含keyword_1的数据,而包含keyword_2的数据就会被过滤掉。


原文地址:http://www.luoning.me/mysql-fulltext.html

© 著作权归作者所有

共有 人打赏支持
Near_Je
粉丝 0
博文 3
码字总数 1619
作品 0
兰州
程序员
中文全文检索

中文全文检索MySQL不支持中文全文检索,因为中文一句话是连着写的,不像英文单词间有空格分隔。解决办法就是中文分词(关于中文分词请参阅其它文章),如果你的MySQL是安装在Windows平台上的,...

史帝文
2016/12/27
14
0
mysql引擎innodb和mysiam,全文索引,又称全文检索

innodb和mysiam引擎的主要区别: MyISAM引擎是MySQL 5.1及之前版本的默认引擎,它的特点是: 1、不支持行锁,读取时对需要读到的所有表加锁,写入时则对表加排它锁 2、不支持事务 3、不支持外...

S三少S
09/04
0
0
MySQL中文全文检索demoSQL

一、概述 MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。 二、语法 MATCH (col1,col2,...) AGAINST (expr [search_modifier]) searc...

tomener
2016/03/21
29
0
MySQL使用全文索引(fulltext index)

1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。 不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息要随时关注官...

小蹊
2017/10/20
0
0
Friso 1.6.2 发布,纯 C 开发的中文分词器

Friso-1.6.2 发布了。Friso 是使用 ANSI C 语言开发的一款开源中文分词器,使用流行的 mmseg 算法实现。完全基于模块化设计和实现,可以很方便的植入其他程序中,例如:MySQL,PHP,源码无需...

狮子的魂
2016/12/26
2.4K
12

没有更多内容

加载失败,请刷新页面

加载更多

秒杀网站系统设计详解

最近总有一些朋友问高并发问题,后来就想自己把一个秒杀系统作为例子详细分解一下,也是一个学习过程。 首先假设场景,预计该活动可能有1万人参加,那最大并发数为1万。 主要面对的问题分析:...

小海bug
25分钟前
2
0
TypeScript基础入门之装饰器(一)

转发 TypeScript基础入门之装饰器(一) 介绍 随着TypeScript和ES6中Classes的引入,现在存在某些场景需要额外的功能来支持注释或修改类和类成员。 装饰器提供了一种为类声明和成员添加注释和元...

durban
35分钟前
1
0
sed命令扩展使用操作

打印某行到某行之间的内容 假若文件test.txt的内容是: ertfff**[abcfd]123324444[rty]**fgfgf 怎么能截取 [abcfd]123324444[rty] 这一部分出来呢? 操作命令: 知道开始行和结...

野雪球
51分钟前
1
0
JVM内存笔记

Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系。当线程本地存储、缓 冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。 Java 线程结束,原...

凌渡
56分钟前
1
0
284. Peeking Iterator

Description Tag: Design Difficulties: Medium Given an Iterator class interface with methods: next() and hasNext(), design and implement a PeekingIterator that support the pee......

52iSilence7
59分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部