如何在MySQL中获得更好的搜索结果

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

如何在MySQL中获得更好的搜索结果,如何在MySQL中获得更好的搜索结果

【 tulaoshi.com - MySQL 】

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

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

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

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

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

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

(本文来源于图老师网站,更多请访问https://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 singleOne 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!');

验证数据的正确录入:

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

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

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

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

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

SHOW INDEXES FROM reviews; Table Column_name Packed Null Index_type Comment reviews id NULL BTREE reviews data NULL YES FULLTEXT

当您拥有了数据和索引,就可以使用M

来源:https://www.tulaoshi.com/n/20160129/1494827.html

延伸阅读
标签: windows 操作系统
随着微软不断的推出windows 2000 windows XP 以及最新的windows2003,我们日常的应用程序却没能即时的跟随着系统的升级而改变。尤其是最新出的windows2003,主要面向的是server工作,但是它的稳定性和实用性是非常强的,很多人一旦拥有就别无他求了。可是在 windows2003上执行一些个人应用软件不是很顺利,尤其是玩游戏。为什么会这样呢?...
白平衡详解 如何在拍摄中获得理想的色调 • 白平衡是什么? • 什么是色温? • 各种白平衡模式有什么用? • 如何用白平衡营造出不同的拍摄气氛和效果? 有试过拍出来的相片整张偏蓝或许偏黄吗?想拍出蓝色的雪景,但拍来拍去都是白色、偏黄?想拍出黄昏的金黄,拍出来却没有想象中那么金?不少人都会苦恼...
标签: Web开发
节点簇式归类搜索 Mooter搜索引擎:http://www.mooter.com/moot 相对于传统的搜索引擎结果平板式显示,Mooter这个搜索引擎可谓是独树一帜,它在搜索结果中以节点簇的形式显示若干个与搜索关键字相关的内容。这种网状分支结构非常直观明了,更有助于浏览者迅速找到所需的有效结果。尤其是在仅需了解搜索结果在某一领域的资料时,更为事半...
如何在win7系统中清空电脑的搜索记录?   如果是自己的电脑还好,若是那些公用的电脑,特别是在公共场合的电脑,我想,谁也不愿意让别人看到自己的搜索记录吧?现在的高科技犯罪真的很猖獗,没有别人做不到的,只有你想不到的,也许就是这样不经意留下的搜索记录信息,便会让别人有机可趁,今天,图老师小编就以win7 32位系统下载为例...
标签: ASP
  启动pb7.0,创建一个不可视的用户对象"uo_customer",新建"object",选择"custom  class" 类型,点击"ok"。 在新创建的用户对象中编写如下程序: 1.声明实例变量"instance  variables",对于com中不支持的类型,请声明为protected类型。protected: datastore  ds_datastore 2.新建三个成员函数: int  uf_connect...

经验教程

936

收藏

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