仓酷云

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

作者: 简单生活    时间: 2015-1-16 22:46
标题: MYSQL教程之全文本检索的使用(1)
尽管MySQL也有一个认证培训项目,但是它的培训却要比Oracle或MS-SQL相差很远。尽管有的使用MySQL的用户表示,MySQL很容易上手,但是对于具有企业级数据库需求的用户来说,




基础常识
1.SQLServer7的DeskTop版中没有全文本检索。
2.一个表只能有一个全文本检索。
3.被检索的表必需有单列的独一索引。
4.全文本的索引存储在文件体系中,而非数据库中。
5.更新全文本索引的历程比惯例索引要耗时,并且也不象惯例索引那样能够由数据库体系当即更新。
6.全文本索引包括在全文本目次(Full-TextCatalog)中,每一个数据库能够包括一个或多个目次,但一个目次不克不及属于多个数据库。
7.全文本检索只能在真实的表上创立,不克不及是视图,体系表,一时表。
8.全文本检索会疏忽某些乐音字(noisewords),好比英文的a,the,and,中文的和,是等等。
9.假如在查询中包括noisewords,就会激发毛病,在使用程序中应往除这些noisewords。

启动全文本检索服务。
办法A:在企业办理器中翻开SupportServices文件夹,在Full-TextSearch的右键菜单当选择Start。
办法B:在SQLServerServiceManager的Services下拉列表当选择MicrosoftSearch,并单击Start/Continue按钮。
办法C:利用netstartmssearch的命令行体例。
利用全文本检索导游(Full-TextIndexingWizard)。
step1.选择被检索的数据库,在Tools的菜单中,选择Full-textIndexing,进进接待(Welcome)的屏幕,单击next。
step2.选择被检索的表,单击next。
step3.选择独一索引,单击next。
step4.选择被索引的列,单击Add,该列显现在右栏中。单击next。
step5.选择目次(选择已存在的目次,或创立新的目次),单击next。
step6.选择或创立populationschedule(可选项),单击next。
step7.单击finish。
利用SQL-DMO(以VB为例)
step1.在工程的援用当选择MicrosoftSQLDMOObjectLibrary。
step2.创立SQLServer工具。
DimobjSQLAsNewSQLDMO.SQLServer
objSQL.Connect"localhost","sa",""
step3.创立新的目次,并到场到被索引的数据库目次中。
DimobjCatalogAsNewSQLDMO.FullTextCatalog
使pubs为全文本检索的数据库
objSQL.Databases("pubs").EnableFullTextCatalogs
创立新的目次
objCatalog.Name="ftcPubsTest"
将新目次到场到目次汇合中
objSQL.Databases("pubs").FullTextCatalogs.AddobjCatalog
step4.在表上创立全文本索引。
DimobjTableAsNewSQLDMO.Table
指定被索引的表
SetobjTable=objSQL.Databases("pubs").Tables("authors")
指定目次名和独一索引名
objTable.FullTextCatalogName="ftcPubsTest"
objTable.UniqueIndexForFullText="UPKCL_auidind"
objTable.FullTextIndex=True

指定被索引的列
objTable.Columns("au_lname").FullTextIndex=True
objTable.Columns("au_fname").FullTextIndex=True

激该死表上的全文本索引
objTable.FullTextIndexActive=True

step5.启动全文本目次
objCatalog.StartSQLDMOFullText_Full
利用存储历程
step1.使pubs为全文本检索的数据库
USEPubs
go
sp_fulltext_databaseenable

step2.创立新的目次
sp_fulltext_catalogftcPubsTest,create
step3.指定被索引的表
sp_fulltext_tableauthors,create,ftcPubsTest,UPKCL_auidind
step4.指定被索引的列
sp_fulltext_columnauthors,au_lname,add
sp_fulltext_columnauthors,au_fname,add
step5.激该死表上的全文本索引
sp_fulltext_tableauthors,activate
step6.启动全文本目次
sp_fulltext_catalogftcPubsTest,start_full

http://www.csdn.net/develop/read_article.asp?id=8894

http://www.csdn.net/develop/read_article.asp?id=8894

珍贵的资金可以用于其他业务的启动,诸如市场、广告或调研和开发等。
作者: 变相怪杰    时间: 2015-1-18 23:04
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
作者: 兰色精灵    时间: 2015-1-23 22:49
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
作者: 乐观    时间: 2015-1-31 20:20
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
作者: 飘飘悠悠    时间: 2015-2-6 22:22
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
作者: 谁可相欹    时间: 2015-2-18 22:42
大家注意一点。如下面的例子:
作者: 小魔女    时间: 2015-3-6 11:18
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
作者: 蒙在股里    时间: 2015-3-20 06:52
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。




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