WEB开发网
开发学院数据库MySQL MySQL全文搜索 阅读

MySQL全文搜索

 2009-01-05 11:15:37 来源:WEB开发网   
核心提示: 2 rows in set (0.00 sec)函数MATCH()对照一个文本集(包含在一个FULLTEXT索引中的一个或多个列的列集)执行一个自然语言搜索一个字符串,搜索字符串做为AGAINST()的参数被给定,MySQL全文搜索(2),搜索以忽略字母大小写的方式执行,对于表中的每个记录

2 rows in set (0.00 sec)函数MATCH()对照一个文本集(包含在一个FULLTEXT索引中的一个或多个列的列集)执行一个自然语言搜索一个字符串。搜索字符串做为AGAINST()的参数被给定。搜索以忽略字母大小写的方式执行。对于表中的每个记录行,MATCH()返回一个相关性值。即,在搜索字符串与记录行在MATCH()列表中指定的列的文本之间的相似性尺度。

当MATCH()被使用在一个WHERE子句中时 (参看上面的例子),返回的记录行被自动地以相关性从高到底的次序排序。相关性值是非负的浮点数字。零相关性意味着不相似。相关性的计算是基于:词在记录行中的数目、在行中唯一词的数目、在集中词的全部数目和包含一个特殊词的文档(记录行)的数目。

它也可以执行一个逻辑模式的搜索。这在下面的章节中被描述。

前面的例子是函数MATCH()使用上的一些基本说明。记录行以相似性递减的顺序返回。

下一个示例显示如何检索一个明确的相似性值。如果即没有WHERE也没有ORDER BY子句,返回行是不排序的。

mysql> SELECT id,MATCH (title,body) AGAINST ('Tutorial') FROM articles;
+----+-----------------------------------------+
| id | MATCH (title,body) AGAINST ('Tutorial') |
+----+-----------------------------------------+
| 1 |            0.64840710366884 |
| 2 |                    0 |
| 3 |            0.66266459031789 |
| 4 |                    0 |
| 5 |                    0 |
| 6 |                    0 |
+----+-----------------------------------------+

上一页  1 2 3 4 5 6  下一页

Tags:MySQL 全文 搜索

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接