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

MySQL全文搜索

 2009-01-05 11:15:37 来源:WEB开发网   
核心提示: 这样一个技术工作可很好地工作与大的集(实际上,它会小心地与之谐调),MySQL全文搜索(4), 对于非常小的表,词分类不足以充份地反应它们的语义值,这样的行被设置一个低的语义值,到 4.0.1 时,有时这个模式可能产生奇怪的结果,mysql> SELECT * FROM articl

这样一个技术工作可很好地工作与大的集(实际上,它会小心地与之谐调)。 对于非常小的表,词分类不足以充份地反应它们的语义值,有时这个模式可能产生奇怪的结果。

mysql> SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('MySQL');

Empty set (0.00 sec)在上面的例子中,搜索词MySQL却没有得到任何结果,因为这个词在超过一半的记录行中出现。同样的,它被有效地处理为一个 stopword (即,一个零语义值的词)。这是最理想的行为 -- 一个自然语言的查询不应该从一个 1GB 的表中返回每个次行(second row)。

匹配表中一半记录行的词很少可能找到相关文档。实际上,它可能会发现许多不相关的文档。我们都知道,当我们在互联网上通过搜索引擎试图搜索某些东西时,这会经常发生。因为这个原因,在这个特殊的数据集中,这样的行被设置一个低的语义值。

到 4.0.1 时,MySQL 也可以使用IN BOOLEAN MODE修饰语来执行一个逻辑全文搜索。

mysql> SELECT * FROM articles WHERE MATCH (title,body)
  ->   AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
+----+------------------------------+-------------------------------------+
| id | title            | body                |
+----+------------------------------+-------------------------------------+
| 1 | MySQL Tutorial        | DBMS stands for DataBase ...    |
| 2 | How To Use MySQL Efficiently | After you went through a ...    |
| 3 | Optimising MySQL       | In this tutorial we will show ...  |
| 4 | 1001 MySQL Tricks      | 1. Never run mysqld as root. 2. ... |
| 6 | MySQL Security        | When configured properly, MySQL ... |
+----+------------------------------+-------------------------------------+

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

Tags:MySQL 全文 搜索

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