WEB开发网
开发学院数据库MySQL 利用MySQL内置函数实现全文搜索功能 阅读

利用MySQL内置函数实现全文搜索功能

 2009-02-26 11:18:40 来源:WEB开发网   
核心提示: 下面的例子则更加复杂,询问返回相关值,利用MySQL内置函数实现全文搜索功能(3),同时对行按照相关性渐弱的顺序进行排序,为实现这个结果, 这意味着 aaa'bbb 会被视为一个单词,而 aaa''bbb则被视为2个单词,你应该两次指定 MATCH(): 一次在 S

下面的例子则更加复杂。询问返回相关值,同时对行按照相关性渐弱的顺序进行排序。为实现这个结果,你应该两次指定 MATCH(): 一次在 SELECT 列表中而另一次在 WHERE子句中。这不会引起额外的内务操作,原因是MySQL 优化程序注意到两个MATCH()调用是相同的,从而只会激活一次全文搜索代码。

mysql> SELECT id, body, MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root') AS score
-> FROM articles WHERE MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root');
+----+-------------------------------------+-----------------+
| id | body                                | score           |
+----+-------------------------------------+-----------------+
|  4 | 1. Never run mysqld as root. 2. ... | 1.5219271183014 |
|  6 | When configured properly, MySQL ... | 1.3114095926285 |
+----+-------------------------------------+-----------------+
2 rows in set (0.00 sec)

表中有2行(0.00 秒)

MySQL FULLTEXT 执行将任何单字字符原形 (字母、数字和下划线部分)的序列视为一个单词。这个序列或许也包含单引号 ('),但在一行中不会超过一个。 这意味着 aaa'bbb 会被视为一个单词,而 aaa''bbb则被视为2个单词。位于单词之前或其后的单引号会被FULLTEXT分析程序去掉; 'aaa'bbb' 会变成   aaa'bbb。

上一页  1 2 3 4  下一页

Tags:利用 MySQL 内置

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