网络编程
位置:首页>> 网络编程>> 数据库>> 在MySQL中获得更好的全文搜索结果

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

  发布时间:2008-05-09 10:38:00 

标签:全文搜索,mysql,SELECT,搜索

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

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

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

1、设置基本表格

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

mysql> CREATE TABLE reviews (id INT(5)

PRIMARY KEY NOT NULL AUTO_INCREMENT, data TEXT);

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

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;

+---------+---------------+--------+------+------------+---------+

| Table | Column_name | Packed | Null | Index_type | Comment |

----------+---------------+--------+------+------------+---------+

| reviews | id | NULL | | BTREE | |

| reviews | data | NULL | YES | FULLTEXT | |

+---------+---------------+--------+------+------------+---------+

2 rows in set (0.01 sec)

0
投稿

猜你喜欢

  • :hover是我们在CSS设计中最常运用的伪类之一,许多绚丽效果的实现离不开伪类:hover,比如我们常见的纯CSS菜单、相册效果等等。或许
  • ie的javascript失效了,不是设置的问题那么就可能是以下几点问题了~安装KAV可能会破坏系统的javascript关联,失javas
  • 一般来说,我们判断 iframe 是否加载完成其实与 判断 JavaScript 文件是否加载完成 采用的方法很类似:var&nb
  • 五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了。但你要同时采用ASP和SQL的话就可能会头晕。MySQL、SQL Ser
  • Howdy, 大家好,又是我~ 上一次我们简单的谈了一下font set和一些要注意的基本问题。今天我们继续字体这一话题,深入讲讲上次提到
  • [Hack] 意为”劈”、”砍”。 [Hacker] 意为”黑客”CSS Hack 是指针对不同的浏览器写不同的CSS code的过程,简单
  • 多级联动下拉选择框,动态获取下一级,每一级数据为XML,可支持无限级(浏览器端需要Microsoft.XMLDOM支持)项目需要,一个材料类
  • 写个小教程,以期能让大家对jQuery有所了解,甚至喜欢上它(请不要怪我)。不废话,先说明我们的目的。我们知道,当代浏览器(modern b
  •  我们可以先建立一个包含文件名,文件标题的待检索文件的数据库,然后,用ADO方式来访问它,并建立记录集对象。具体代码和说明见下:
  • 首先建一个access 数据库,库中有一个URLINDEX表,其中URL和Keywords字段分别添加了索引,如下:URL &nb
  • 一直在期待这本书,一直希望国内能有一本正视WEB标准,并且全面阐述WEB标准书籍。而这本书是我觉得国内最全面的一本关于WEB标准的书籍,这本
  • 下面是IN条件运算符的SQL语句:SELECT column1, SUM(column2)  FROM&nbs
  • Oracle数据库作为大型数据库管理系统,近年来一直占有世界上高端数据库的最大份额,其强大而完善的数据库管理功能,以及ORACLE公司推陈出
  • 头疼的挂马事件申请了个免费空间弄了个小站空间还可以二年多了挺稳定的只是从今年年初开始网页老莫名奇妙的被人挂马仔细检查了网站 不存在什么漏洞应
  • Data URIData URI是由RFC 2397定义的一种把小文件直接嵌入文档的方案。通过如下语法就可以把小文件变成指定编码直接嵌入到页
  • 注:所有文字,除注明网站类型外,其他均针对企业站点.请随时注意留言,若修改则会在首页提示文字里标注.若牵扯到业务方面的问题,我可能不会做过多
  • 1. 鼠标的哪个按键被点击?<html><head><script type="text/javas
  • 核心提示:本文针对mysql-noinstall版本,也就是解压缩版的安装配置应用做了个总结,这些操作都是平时很常用的操作。文章中不对mys
  •   国外纷纷传言IE8将是Internet Explorer的最后一个版本,这个猜测来源于Microsoft的CEO Steve
  • 1.双击setup.exe.(出现安装向导界面) 2.在安装向导界面:选"基本安装",并选好主目录位置;创建启动数据库(
手机版 网络编程 asp之家 www.aspxhome.com