在MySQL中获得更好的全文搜索结果

2016-01-29 14:53 4 1 收藏

在MySQL中获得更好的全文搜索结果,在MySQL中获得更好的全文搜索结果

【 tulaoshi.com - MySQL 】

很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

MySQL针对这一问题提供了一种基于内建的全文查找方式的解决方案。在此,开发者只需要简单地标记出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段运行搜索,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索,因为MySQL使用自然语言来智能地对结果评级,以去掉不相关的项目。

这篇文章将向您讲述在MySQL中如何进行全文搜索。

1、设置基本表格

从创建例子表格开始,使用以下的SQL命令:

mysql CREATE TABLE reviews (id INT(5) PRIMARY KEY NOT NULL AUTO_INCREMENT, data TEXT);

以上命令创建了一个简单的音乐专集资料库(主要是整段的文字),然后向这个表格中添加一些记录:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

mysql INSERT INTO `reviews` (`id`, `data`) VALUES(1, 'Gingerboy has a new single out called Throwing Rocks. It's great!');mysql INSERT INTO `reviews` (`id`, `data`) VALUES (2, 'Hello all, I really like the new Madonna single. One of the hottest tracks currently playing...I've been listening to it all day');mysql INSERT INTO `reviews` (`id`, `data`)VALUES (3, 'Have you heard the new band Hotter Than Hell?They have five members and they burn their instruments when they play in concerts. These guys totally rock! Like, awesome, dude!');

验证数据的正确录入:

mysql SELECT * FROM reviews;+----+--------------------------------------------+| id | data            |+----+--------------------------------------------+|  1 | Gingerboy has a new single out called ...  ||  2 | Hello all, I really like the new Madon ... ||  3 | Have you heard the new band Hotter Than... |+----+--------------------------------------------+3 rows in set (0.00 sec)

2、定义全文搜索字段

接下来,定义您要作为全文搜索索引的字段

mysql ALTER TABLE reviews ADD FULLTEXT INDEX (data);Query OK, 3 rows affected (0.21 sec)Records: 3  Duplicates: 0  Warnings: 0

使用SHOW INDEXES命令来检查索引已经被添加了:

mysql SHOW INDEXES FROM reviews;+---------+---------------+--------+
                        

来源:http://www.tulaoshi.com/n/20160129/1494584.html

延伸阅读
如何在SQL中启用全文检索功能?本文将通过实例向你剖折这个问题。这是一个全文索引的一个例子,首先在查询分析器中使用: use pubs go --打开数据库全文索引的支持 execute sp_fulltext_database ''enable'' go --建立全文目录ft_titles execute sp_fulltext_catalog ''ft_titl...
手机QQ阅读怎么全文搜索   阅读书籍都是很多页的,如果在阅读过程中想要翻阅以前阅读过的末段文字,又没有做任何标记,要怎么查找呢?接下来图老师小编就教大家一个简单的方法,全文搜索。一起来看教程吧! 1)打开手机QQ阅读进入应用后点击你要进行全文搜索的,接着点击。(如下图) 2)跳出功能栏后定居右上角接着点...
标签: SQLServer
解决中文字符出错问题: 方法一: 把文件复制到...\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\ 目录下(该路径为全文目录路径,可以全文目录属性中查看) 方法二: 编辑...\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\目录下的 noise.chs文件,清空文档,输入‘@’(其他的偏僻符号也可以) 最后,重新进行全文完全...
标签: 浏览器
在IE9地址栏中启用BING搜索的最匹配结果 初始情况下,我们想再打开新浪网站的话,最快的方法可能是就是直接在浏览器地址栏中输入新浪网址。若不记得网址的情况下,我们可能会选择在地址栏中搜索新浪关键字,然后再打开的搜索结果页中单击打开新浪网站。要是我们在输入新浪关键字以后,按下回车键即可以直接打开新浪网站,这样的是不是会更...
1、每个action方法都返回一个String类型的值,struts一次请求返回什么值是由这个值确定的。 2、在配置文件中,每一个action元素的配置都必须有result元素,每一个result对应一个action的返回值。 3、Result有两个属性: name:结果的名字,和action中的返回值一样,默认值为success; type:响应结果类型,默认值为dispatcher. 在 下面找到st...

经验教程

865

收藏

39
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部