MySQL 4.1.0中文参考手册——MySQL 6.8全文搜索(转)

  MySQL 4.1.0中文参考手册——MySQL 6.8全文搜索(转)[@more@] <时尚>代码tt{颜色:紫色}{颜色:绿色}桑普{颜色:海军}{颜色:栗色}之前       MYSQL 4.1.0中文参考手册">    "内容=" MySQL, 4.1.0, Shuixin13, MySQL 4.1.0,中文,中文参考手册,犬犬(心帆)"> <链接href=" https://www.yisu.com/zixun/shuixin13.ico " rel="快捷方式图标"> <链接href=" https://www.yisu.com/zixun/images/index.css " type=" text/"> CSS样式表rel=>   <标题> MySQL版本4.1.0-alpha参考手册。   

  

  <人力资源>      

6.8 MySQL全文搜索

  

  

到3.23.23时,MySQL开始支持全文索引和搜索。全文索引在MySQL中是一个<代码>全文> 全文索引用于<代码> MyISAM 表,可以在<代码> 创建表时或之后使用<代码> ALTER TABLE 或<代码>创建指数在<代码>字符,<代码> VARCHAR 或<代码> 文本列上创建。对于大的数据库,将数据装载到一个没有<代码>全文索引的表中,然后再使用<代码> ALTER TABLE> 创建索引> 全文索引的表中,将是非常慢的。

  

全文搜索通过<代码>匹配()函数完成。

  

mysql>创建表的文章(INT无符号-> id AUTO_INCREMENT NOT NULL主键,->标题VARCHAR(200) ->正文,->全文(标题、主体)->);查询好,影响(0.00秒)mysql> 0行插入文章值-> (NULL,“mysql教程”,“dbMS代表数据库…”),-> (NULL,如何有效地使用mysql,之后经历了…),-> (NULL,“优化mysql”,“在本教程中我们将展示…”),-> (NULL,“1001 mysql技巧”,“1。从不mysqld作为根用户运行。2。……’)-> (NULL,“MySQL和YourSQL”,“在以下数据库比较…”),-> (NULL,“MySQL安全”,“当配置正确,MySQL…”);查询好,6行影响(0.00秒)记录:6副本:0警告:从文章-> 0 mysql> select *匹配(标题、主体)反对(“数据库”);+ - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | + | id标题身体| | + - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | 5 | MySQL和YourSQL |在以下数据库比较…| | 1 | | DBMS代表数据库MySQL教程……| + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 2行组(0.00秒)

 
  

函数<代码>匹配()对照一个文本集(包含在一个<代码>全文索引中的一个或多个列的列集)执行一个自然语言搜索一个字符串。搜索字符串做为反对()<代码> 的参数被给定。搜索以忽略字母大小写的方式执行。对于表中的每个记录行,<代码>匹配()返回一个相关性值,即在搜索字符串与记录行在<代码>匹配()列表中指定的列的文本之间的相似性尺度。

  

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

  

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

  

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

  

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

  

mysql>选择id匹配(标题、主体)反对(从文章“教程”);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | + | id匹配(标题、主体)反对(教程)| + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | 1 | 0.64840710366884 | | 2 | 0 | | 3 | 0.66266459031789 | | 4 | 0 | | 5 | 0 | | 6 | 0 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 6行组(0.00秒)

 
  

下面的示例更复杂一点。查询返回相似性并依然以相似度递减的次序返回记录行。为了完成这个结果,你应该指定<代码>匹配()两次。这不会引起附加的开销,因为MySQL优化器会注意到两次同样的<代码>匹配()

MySQL 4.1.0中文参考手册——MySQL 6.8全文搜索(转)