仓酷云

标题: MYSQL编程:全文本检索的使用(3) [打印本页]

作者: 仓酷云    时间: 2015-1-16 22:46
标题: MYSQL编程:全文本检索的使用(3)
“对于MySQL数据库,无论是在开发方面,还是支持方面,现在有大量强大的MySQL学习教程可以选择。每一个新手开发者可以轻松地使用MySQL数据库进行开发。CONTAINSTABLE语法
我们一般在FROM子句中利用CONTAINSTABLE,就象如许:SELECT*FROMtable_name,CONTAINTABLE(fulltext_table,fullText_column,searchcondition)WHERE......。

CONTAINSTABLE在查询体例上与CONTAINS几近一样,以是就不必赘述了。CONTAINSTABLE前往的是切合查询前提的表,在SQL语句中我们能够把它看成一个一般的表来利用。

我们看一个例子,对照这两种表的分歧。
SELECTFT_TBL.student_name,FT_TBL.student_score,KEY_TBL.RANK
FROMreportASFT_TBLINNERJOIN
CONTAINSTABLE(student,address,
ISABOUT(cityweight(.8),countywright(.4)))ASKEY_TBL
ONFT_TBL.student_id=KEY_TBL.[KEY]
ORDERBYKEY_TBL.RANK
CONTAINSTABLE前往的表包括有特别的两列:KEY,RANK。
在第一部分里我们就夸大了:被全文索引的表必需有独一索引。这个独一的索引列在前往的表中就成为KEY。我们一般把它作为表毗连的前提。

在某些网站搜刮时,了局中会呈现暗示婚配水平的数字,RANK与此相似。它的值在0~1000之间,标识每行与查询前提的婚配水平,水平越高,RANK的值年夜,一般情形下,依照RANK的降序分列。
FREETEXT语法
FREETEXT与CONTAINS相似,只是没有CONTAINS的精度高。在CONTAINS中,对查询前提的写法有良多请求,而FREETEXT就没有,能够是恣意的单词,词组或句子。看上面的例子:
SELECTCategoryName
FROMCategories
WHEREFREETEXT(Description,sweetestcandybreadanddrymeat)

FREETEXTTABLE语法
和CONTAINSTABLE一样,FREETEXTTABLE前往带有KEY,RANK的表。举例申明:
SELECTFT_TBL.CategoryName,
FT_TBL.Description,
KEY_TBL.RANK
FROMCategoriesASFT_TBLINNERJOIN
FREETEXTTABLE(Categories,Description,
sweetestcandybreadanddrymeat)ASKEY_TBL
ONFT_TBL.CategoryID=KEY_TBL.[KEY]
在ASP中利用全文本检索
Dimcnn
Dimrs
DimstrSQL

strSQL="SELECTbook_name"&_
"FROMbooks"&_
"WHERECONTAINS(description,"&Request("search_condition")&")"

Setcnn=Server.CreateObject("ADODB.Connection")
Setrs=Server.CreateObject("ADODB.RecordSet")

cnn.Open"provider=sqloledb;datasource=.;initialcatalog=books;userid=sa;pasword=;"
rs.OpenstrSQL,cnn


下面的例子非常复杂,仅为表示。只需把握了CONTAINS和CONTAINSTABLE的语法,在利用上和一样平常的ADO查询一样。

全文本检索的使用(1)

全文本检索的使用(2)
有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。
作者: 金色的骷髅    时间: 2015-1-19 21:40
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
作者: 柔情似水    时间: 2015-1-24 19:16
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
作者: 老尸    时间: 2015-2-2 12:40
所以你总能得到相应的升级版本,来满足你的需求。
作者: 爱飞    时间: 2015-2-7 19:47
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
作者: 精灵巫婆    时间: 2015-2-23 08:52
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
作者: 深爱那片海    时间: 2015-3-7 06:21
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
作者: 飘灵儿    时间: 2015-3-21 08:54
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2