当前位置:文档之家› (转)sql2005全文索引

(转)sql2005全文索引

(转)sql2005全文索引
(转)sql2005全文索引

(转)sql2005全文索引

理論部份

前言

在数据库中快速搜索数据,使用索引可以提高搜索速度,然而索引一般是建立在数字型或长度比较短的文本型字段上的,比如说编号、姓名等字段,如果建立在长度比较长的文本型字段上,更新索引将会花销很多的时间。如在文章内容字段里用like语句搜索一个关键字,当数据表里的内容很多时,这个时间可能会让人难以忍受。在SQL Server中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数据的速度,在本節里,将会对全文索引进行详细的介绍

(1)全文索引概念:

全文索引与普通的索引不同,普通的索引是以B-tree结构来维护的,而全文索引是一种特殊类型的基于标记的功能性索引,是由Microsoft SQL Server全文引擎服务创建和维护的。使用全文索引可以快速、灵活地为存储在SQL Server数据库中的文本数据创建基于关键字查询的索引,与like 语句不同,like语句的搜索是适用于字符模式的查询,而全文索引是根据特定语言的规则对词和短语的搜索,是针对语言的搜索。

(2)全文索引常用术语

(2.1)全文索引:一种特殊的索引,能在给定的列中存储有关重要的词及位置的信息,使用这些信息可以快速进行全文查询,搜索包括特定词或词组的行.

(2.2)全文目录:全文目录是存储全文索引的地方,全文目录必须驻留在与SQL Server实例相关联的本地硬盘上,每个全文目录可用于满足数据库内的一个或多个表的索引需求.

(2.3)断字符与词干分析器:断字符与词干分析器都是用于对全文索引的数据进行语言分析的.语言分析通常都会涉及到查找词的边界和组合动词两个方面,其中要查找词的边界,也就是确定哪几个字符是"词",称之为"断字".组合动词也就是词干分析,用于分析词.根据语言的不同,语言分析规则也不尽相同,由此可以为每个全文索引列指定不同的语言.每种语言的断字符能够使得访问语言生成的词更为准确

(2.4)标记:由断字符标识的词或字符串

(2.5)筛选器:用于从存储在varbinary(max)或image列中的文件内提取指定的文本类型的文本,当varbinary(max)或image列中包含带有特定文件扩展名的文档时,全文搜索会使用筛选器来解释二进制数据,筛选器会从文档中提取文本化信息并用于建立索引.

(2.6)填充(爬网):创建维护全文索引的过程叫填充,也叫爬网.

(2.7)干扰词:经常出现,但又不是要搜索的词.为了精简全文索引,这些词通常会被忽略.

(3)全文索引的体系

SQL Server的全文索引是由SQL Server FullText Search服务来维护的,该服务可以在Windows操作系统的【管理工具】-【服务】里找到,如图3.1所示,在此可以启动、停止、暂停、恢复和重新启动该服务.只有SQL Server FullText Search服务在启动状态时,才能使用全文索引.

SQL Server FullText Search服务由两个部分组件支持:一个是Microsoft Full-Text Engine for SQL Server(MSFTESQL),也就是SQL Server全文搜索引擎;另一个是Microsoft Full-Text Engine Filter Deamon(MSFTEFD),也就是全文搜索引擎过滤器.

Microsoft Full-Text Engine for SQL Server的作用是填充全文索引、管理全文索引和全文目录、帮助对SQL Server数据库中的数据表进行全文搜索。Microsoft Full-Text Engine Filter Deamon包含筛选器,协议处理程序和断字符三个组件,其作用是负责从数据表中访问和筛选数据以及进行断字和词干分析。其中,筛选器的作用是从文档中提取文本信息,并将非文本信息和格式化信息(如换行符、字体大小等信息)删除,然后生成文本字符串和属性的对应,并将它们传递给索引引擎;协议处理程序用于从指定数据库中的表内访问数据;断字符用于在查询或抓取的文档中确定字符边界位置。

全文索引组件负责对全文索引的初始填充以及当全文索引表中的数据被修改时的更新。当全文填充(爬网)开始后,数据库引擎会将大量的数据存储到内存里,并通知Microsoft Full-Text Engine for SQL Server(MSFTESQL)开始进行索引。当MSFTESQL服务接到进行索引的通知后,使用协议处理程序组件从内存中取得数据进行处理后生成全文索引。MSFTESQL服务会将数据表中的某一列或几列中的字符和二进制数据编制成索引。在对varbinary(max)或image列中的数据编制索引时,筛选器会将基于为该数据指定的文件格式来提取文本。在处理索引的过程中MSFTESQL服务通过断字符来将收集到的文本数据分隔成各个单独的标记或关键字。这个过程就是全文索引的过程。

由于全文索引与普通的索引不同,全文索引并不是存储在数据表中,而是存储在全文目录中,所以在使用全文索引来搜索数据时,其运行的流程和普通索引也不一样。

如图所示,当SQL Server发出全文搜索的请求后,会将搜索的条件传递给全文搜索引擎过滤器,经过MSFTEFD处理后,将数据提供给MSFTESQL,再由MSFTESQL从全文目录中找到符合要求的数据,再返回给SQL Server进行后续操作。这就是进行全文搜索的过程

理論部份

前言

在数据库中快速搜索数据,使用索引可以提高搜索速度,然而索引一般是建立在数字型或长度比较短的文本型字段上的,比如说编号、姓名等字段,如果建立在长度比较长的文本型字段上,更新索引将会花销很多的时间。如在文章内容字段里用like语句搜索一个关键字,当数据表里的内容很多时,这个时间可能会让人难以忍受。在SQL Server中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数据的速度,在本節里,将会对全文索引进行详细的介绍

(1)全文索引概念:

全文索引与普通的索引不同,普通的索引是以B-tree结构来维护的,而全文索引是一种特殊类型的基于标记的功能性索引,是由Microsoft SQL Server全文引擎服务创建和维护的。使用全文索引可以快速、灵活地为存储在SQL Server数据库中的文本数据创建基于关键字查询的索引,与like语句不同,like语句的搜索是适用于字符模式的查询,而全文索引是根据特定语言的规则对词和短语的搜索,是针对语言的搜索。

(2)全文索引常用术语

(2.1)全文索引:一种特殊的索引,能在给定的列中存储有关重要的词及位置的信息,使用这些信息可以快速进行全文查询,搜索包括特定词或词组的行.

(2.2)全文目录:全文目录是存储全文索引的地方,全文目录必须驻留在与SQL Server实例相关联的本地硬盘上,每个全文目录可用于满足数据库内的一个或多个表的索引需求.

(2.3)断字符与词干分析器:断字符与词干分析器都是用于对全文索引的数据进行语言分析的.语言分析通常都会涉及到查找词的边界和组合动词两个方面,其中要查找词的边界,也就是确定哪几个字符是"词",称之为"断字".组合动词也就是词干分析,用于分析词.根据语言的不同,语言分析规则也不尽相同,由此可以为每个全文索引列指定不同的语言.每种语言的断字符能够使得访问语言生成的词更为准确

(2.4)标记:由断字符标识的词或字符串

(2.5)筛选器:用于从存储在varbinary(max)或image列中的文件内提取指定的文本类型的文本,当varbinary(max)或image列中包含带有特定文件扩展名的文档时,全文搜索会使用筛选器来解释二进制数据,筛选器会从文档中提取文本化信息并用于建立索引.

(2.6)填充(爬网):创建维护全文索引的过程叫填充,也叫爬网.

(2.7)干扰词:经常出现,但又不是要搜索的词.为了精简全文索引,这些词通常会被忽略.

(3)全文索引的体系

SQL Server的全文索引是由SQL Server FullText Search服务来维护的,该服务可以在Windows操作系统的【管理工具】-【服务】里找到,如图3.1所示,在此可以启动、停止、暂停、恢复和重新启动该服务.只有SQL Server FullText Search服务在启动状态时,才能使用全文索引.

SQL Server FullText Search服务由两个部分组件支持:一个是Microsoft Full-Text Engine for SQL Server(MSFTESQL),也就是SQL Server全文搜索引擎;另一个是Microsoft Full-Text Engine Filter Deamon(MSFTEFD),也就是全文搜索引擎过滤器.

Microsoft Full-Text Engine for SQL Server的作用是填充全文索引、管理全文索引和全文目录、帮助对SQL Server数据库中的数据表进行全文搜索。Microsoft Full-Text Engine Filter Deamon包含筛选器,协议处理程序和断字符三个组件,其作用是负责从数据表中访问和筛选数据以及进行断字和词干分析。其中,筛选器的作用是从文档中提取文本信息,并将非文本信息和格式化信息(如换行符、字体大小等信息)删除,然后生成文本字符串和属性的对应,并将它们传递给索引引擎;协议处理程序用于从指定数据库中的表内访问数据;断字符用于在查询或抓取的文档中确定字符边界位置。

全文索引组件负责对全文索引的初始填充以及当全文索引表中的数据被修改时的更新。当全文填充(爬网)开始后,数据库引擎会将大量的数据存储到内存里,并通知Microsoft Full-Text Engine for SQL Server(MSFTESQL)开始进行索引。当MSFTESQL服务接到进行索引的通知后,使用协议处理程序组件从内存中取得数据进行处理后生成全文索引。MSFTESQL服务会将数据表中的某一列或几列

中的字符和二进制数据编制成索引。在对varbinary(max)或image列中的数据编制索引时,筛选器会将基于为该数据指定的文件格式来提取文本。在处理索引的过程中MSFTESQL服务通过断字符来将收集到的文本数据分隔成各个单独的标记或关键字。这个过程就是全文索引的过程。

由于全文索引与普通的索引不同,全文索引并不是存储在数据表中,而是存储在全文目录中,所以在使用全文索引来搜索数据时,其运行的流程和普通索引也不一样。

如图所示,当SQL Server发出全文搜索的请求后,会将搜索的条件传递给全文搜索引擎过滤器,经过MSFTEFD处理后,将数据提供给MSFTESQL,再由MSFTESQL从全文目录中找到符合要求的数据,再返回给SQL Server进行后续操作。这就是进行全文搜索的过程

實戰部份

(4)全文目录管理

在前面章节里提到,全文目录的作用是存储全文索引,所以要创建全文索引必须先创建全文目录

(4.1)创建全文目录创建全文目录的方法如下:

(1)启动【SQL Server Management Studio】,连接到本地默认实例,在【对象资源管理器】窗口里,选择本地数据库实例--【数据库】--【Northwind】--【存储】--【全文目录】。

(2)右击【全文目录】,在弹出的快捷菜单里选择【新建全文目录】选项。

(3)弹出如图4.1所示的【新建全文目录】对话框,在该对话框的【全文目录名称】文本框内可以输入全文目录的名称;在【目录位置】文本框内可以输入全文目录的存储路径,单击其后的【…】按钮可以选择路径,如果不输入的话,默认存储在“Program Files"Microsoft SQL Server"MSSQL.1"MSSQL"FTData”目录下;在【文件组】下拉列表框里可以选择全文目录所属的文件组;在【所有者】文本框里可以输入全文目录的所有者;选中【设置为默认目录】复选框可以将此目录设置为全文目录的默认目录;【区分重音】单选框用于指明目录是否区分标注字符。

4.1【新建全文目录】对话框

(4)设置完毕后单击【确定】按钮完成操作。

(4.2) 查看与修改全文目录

全文目录添加完毕之后,可以在【对象资源管理器】窗口的【全文目录】树下看到新建的全文目录。双击该全文目录,或右击该全文目录,在弹出的快捷菜单里选择【属性】选项,将会弹出如图4.2所示【全文目录属性】对话框,在该对话框里可以查看全文目录的属性内容。在【全文目录属性】对话

框里有三个标签:【常规】选项卡里可以查看和修改全文目录的设置;【表/视图】选项里可以查看和修改为全文目录分配的表和视图;【填充计划】选项项里可以添加或修改确定何时填充或重新填充全文目录的计划。在如图4.2所示的【全文目录属性】对话框里,可以看到全文目录所属的文件组、名称、上次填充的时间、项计数、填充状态、目录大小、唯一键计数的内容,这些内容是不能修改的。可以修改项为:【默认目录】、【所有者】和【区分重音】三个选项内容。在【目录】操作区域,有三个单选按钮,其中【无】表示不执行优化目录、重新生成目录和重新填充目录操作;选择【优化目录】选项将会优化目录的空间利用率、提高搜索结果相关排名的准确性,从而提高查询性能;选择【重新生成目录】选项将会删除并重新生成全文目录,如果对全文目录的属性进行了更改,则必须执行该操作,例如在本对话框中修改了区分重音选择,则【目录】操作区域会自动变成灰色,系统自动重新生成全文目录;选择【重新填充目录】选项将会使用数据的最新更改来更新目录。修改完毕之后,单击【确定】按钮完成操作

图4.2查看全文目录属性

(4.3)删除全文目录

当全文目录不再需要使用时,可以将其删除,删除方式如下:

(1)启动【SQL Server Management Studio】,连接到本地默认实例,在【对象资源管理器】窗口里,选择本地数据库实例--【数据库】--【Northwind】--【存储】--【全文目录】。

(2)右击要删除的全文目录名,在弹出的快捷菜单里选择【删除】选项。

(3)在弹出的【对象删除】对话框中单击【确定】按钮完成操作。

如果要一次性删除多个全文目录,可以先在【对象资源管理器】窗口中定位到【全文目录】树,在【摘要】对话框里选择多个全文目录,然后单击鼠标右键,在弹出的快捷菜单里选择【删除】选项。在弹出的【对象删除】对话框中单击【确定】按钮完成操作

(5)全文索引管理

在创建完全文目录之后,可以动手创建全文索引了,下面将介绍如何创建、编辑和删除全文索引.

(5.1)创建全文索引的注意事项

在创建全文索引之前,先介绍创建全文索引要注意的事项:

全文索引是针对数据表的,只能对数据表创建全文索引,不能对数据库创建全文索引。

在一个数据库中可以创建多个全文目录,每个全文目录都可以存储一个或多个全文索引,但是每一个数据表只能够创建一个全文索引,一个全文索引中可以包含多个字段。

要创建全文索引的数据表必须要有一个唯一的针对单列的非空索引,也就是说,必须要有主键,或者是具备唯一性的非空索引,并且这个主键或具有唯一性的非空索引只能是一个字段,不能是多字段的组合。

包含在全文索引里的字段只能是字符型的或image型的字段

(5.2)创建全文索引

下面以Northwind数据的“文章”表为例,介绍如何创建全文索引:

(1)启动【SQL Server Management Studio】,连接到本地默认实例,在【对象资源管理器】窗口里,选择本地数据库实例【数据库】--【Northwind】--【表】--【文章】。

(2)右击【文章】数据表,在弹出的快捷菜单里选择【全文索引】--【定义全文索引】。

(3)弹出如图5.1所示【全文索引向导】对话框,此对话框中显示的是全文索引向导的介绍,单击【下一步】按钮。

5.1【全文索引向导】对话框

(4)弹出如图5.2所示的【选择索引】对话框,此时可以选择要创建全文索引的数据表的唯一索引,使用该索引作为全文索引的唯一索引。在【唯一索引】下拉列表框里,列出该表中所有的唯一索引。在该对话框里选择唯一索引后,单击【下一步】按钮

5.2【选择索引】

(5)弹出如图5.3所示【选择表列】对话框,此时可以选择要加入全文索引的字段。在该对话框里可以选择一个或多个字段加入全文索引。SQL Server 2005可以对存储在image类型的字段中的文件进行全文搜索。image类型的字段中可以存入各种文件,但是SQL Server 2005只支持Word、Excel、PowerPoint、网页和纯文本文件类型。如果要对image类型的字段里的文件进行全文搜索,必须还要有一个字符串类型的字段用于指明存储在image字段中的文件的扩展名。如图5.3中的文件字段,如果要对其创建全文索引,必须还要指定类型列。选择完毕后单击【下一步】按钮

5.3【选择表列】对话框

(6)弹出【选择更改跟踪】对话框,在该对话框里可以定义全文索引的更新方式,一共有三种更新方式:

【自动】:选中此单选按钮后,当基础数据发生更改时,全文索引将自动更新;

【手动】:如果不希望基础数据发生更改时自动更新全文索引,请选中此单选按钮。对基础数据的更改将保留下来。不过,若要将更改应用到全文索引,必须手动启动或安排此进程;

【不跟踪更改】:如果不希望使用基础数据的更改对全文索引进行更新,请选中此单选按钮。设置完毕后单击【下一步】按钮。

5.4【选择更改跟踪】对话框

(7)弹出如图5.5所示的【选择目录】对话框,在此可以选择全文索引所存储的全文目录。如果没有要选择的全文目录,也可以在此新建一个全文目录。创建全文目录的方法与上节中所说的一样。选择完毕后单击【下一步】按钮。

5.5【选择目录】对话框

(8)弹出如图5.6所示的【定义填充计划】对话框,在此可以创建全文索引和全文目录的填充计划,也可以单击【下一步】,在创建完全文索引后再创建填充计划

5.6【定义填充计划】对话框

(9)弹出如图5.7所示的【全文索引向导说明】对话框,在该对话框里可以看到全文索引要完成的工作说明,如果有不正确的设置,可以单击【上一步】按钮返回去重新设置,如果完全正确则单击【完成】按钮完成操作。

5.7【全文索引向导说明】

(5.3)查看与修改全文索引

在创建完全文索引之后,右击数据表,在弹出的快捷菜单里选择【全文索引】--【属性】可以查看全文索引的设置,如图5.8所示

5.8【全文索引属性】

在图5.8中可以看到全文索引的目前设置情况,在该对话框中可以修改是否启用全文索引和全文索引的更改跟踪信息。单击【列】标签,打开如图5.9所示的全文索引的列信息,在此可以修改全文索引所包含的列信息。

5.9【列】

(5.4)启用和禁用全文索引

全文索引创建完毕之后,不会立即自动启用,所以需要手动启用全文索引。启动全文索引的方法如下:

(1)在【对象资源管理器】窗口里展开树形目录,定位到要启用全文索引的数据表。

(2)右击要启用全文索引的数据表,在弹出的快捷菜单中选择【全文索引】--【启用全文索引】。如果要禁用全文索引,也可以采取以下的方法来禁用全文索引:

(1)在【对象资源管理器】窗口里展开树形目录,定位到要启用全文索引的数据表。

(2)右击要禁用全文索引的数据表,在弹出的快捷菜单中选择【全文索引】--【禁用全文索引】。

(5.5)删除全文索引

当全文索引不再使用时,可以将其删除,删除方法如下:

(1)右击要删除全文索引的数据表,在弹出的快捷菜单里选择【全文索引】à【删除全文索引】。

(2)在弹出的【删除全文索引】对话框里单击【确定】按钮完成操作。

(6)填充全文索引

填充全文索引实质上就是更新全文索引,其目的是让全文索引可能够反映最新的数据表内容。

(6.1)填充全文索引的方式

填充全文索引一共有三种方式:

完全填充:完全填充方式通常发生在首次填充全文目录或全文索引时,在前一节中所说到的“启用全文索引”时,就已经对全文索引进行了一次完全填充,以后就可以使用基于更改跟踪的填充和基于增量时间戳的填充来维护全文索引。

基于更改跟踪方式的填充:SQL Server会记录设置了全文索引的数据表中修改的行,这些记录存储在日志中,在某个适当时机时将这些更改填入到全文索引中。

基于增量时间戳方式的填充:也就是增量填充,在全文索引中更新上次填充之后更新的行。增量填充要求索引表中必须有timestamp数据类型的字段,如果没有该类型的字段,则无法执行增量填充,系统将会以完全填充的方式来取代增量填充方式进行填充

(6.2)填充全文索引

由于填充全文索引有三种不同的方式,所以填充全文索引的方法也不相同。如果要以完全填充或增量填充方式来填充全文索引,则只要右击全文索引所在的数据表,在弹出的快捷菜单里选择【全文索引】--【启动完全填充】或【启动增量填充】选项即可如图6.1所示

6.1填充全文索引

更改跟踪方式填充全文索引分为手动和自动两种方法,在默认情况下是自动填充,如果要更改为手动方式,可以右击全文索引所在的数据表,在弹出的快捷菜单里选择【全文索引】--【手动跟踪更改】选项,如图6.1所示

选择完毕之后,SQL Server会自动跟踪数据表中的数据更改情况,但并不将其更新到全文索引中,只有在需要将这些更新反应到全文索引上时,右击全文索引所在的数据表,在弹出的快捷菜单里选择【全文索引】--【应用跟踪的更改】选项后,才会将更新反应到全文索引上

如果在图6.1所示界面里选择了【自动跟踪更改】选项,则由SQL Server自动将记录的数据表的更改更新到全文索引中,不再需要人工进行填充。

如果在数据库中有多个数据表创建了全文索引,可以使用重新生成索引目录的方法将所有的全文索引进行完全填充,其方法如下:

(1)在【对象资源管理器】窗口里展开树形目录,定位到【服务器】--【数据库】--【Northwind】--【存储】--【全文目录】。

SQL Server 全文索引查询

SQL Server 全文索引查询T-SQL学习笔记之一(Full-text index) 2009-12-11 11:29 引言 这段时间为了提高海量字符串数据的查询效率,我对字段添加了全文索引。首先全文索引相对于传统的索引是有区别的,这是因为传统的索引主要是以首字母开始建立的索引,处理like 'keword%'这样的查询会很高效,但是如果查询时不限定首字母,而只是包含某个词,比如like '%keyword%'这样的查询,实际操作中无法使用传统索引加速查询效率,而只能一项一项比较了。 而全文索引正是提供了“包含”式查询机制,查询一个长字符串中是否包含给定关键词的功能,这无论是在搜索引擎或是网站的搜索平台都是很有用处的。 首先,推荐一本学习SQL Server全文索引的书籍,这本书详细的讲解了全文索引的方方面面,甚至还阐述许多设计搜索引擎的思想和方法。书名是《Pro Full-Text Search in SQL Server 2008》,是Apress出版的。 这本书的内容是按章划分的,同时由浅入深,从一般的技巧到高级的技巧。我这里就简单分享一下基本的全文查询方法,更多高级的技巧应该在实际应用中按需进行学习。 要实现全文查询,首先安装的SQL Server实例要支持全文查询服务,可以查看windows服务是否有全文索引服务。如果没有,则要重新安装SQL Server并选择添加功能,将Full-Text功能选中,然后再安装或升级。

有了全文查询服务,还不能直接进行查询,需要先在想要建立全文索引的字段上建立一个全文索引。方法是打开企业管理器,选择字段所在表格,然后点击右键,选择"Full-text inde”,然后选择"define Full-text index"就能进入设置面板。 需要注意的是,全文索引只能建立在Unique(唯一)字段上,并且每个表最多只能有一个全文索引字段,因此要慎重。然后按照提示建立全文索引即可(可以参见我推荐的那本书,会有一步一步操作的详细说明和注释) 建立好全文索引后,就能够运用T-SQL的全文查询语法进行全文查询了。 主要有两个语法,一个是contains,另一个是freetext Contains contains从字面上就能很好理解,即包含,比如我们在表Sample的一个字段Column里查询包含“世界末日”这个关键词的所有记录,该表一共有60万条记录,传统的查询语法是 select * from Sample where [Column] like '%世界末日%'

SQL Server 2008 中全文搜索步骤

/*建立测试环境*/ if object_id('tb')isnotnull droptable tb go createtable tb (id intidentity(1,1), title varchar(200), detail varchar(1000), constraint pk_id primarykey(id)--在建立全文索引时需要使用 ) insertinto tb select'火箭即将签下新秀射手','据悉,巴丁格与火箭队的合同谈判是于昨天完成的,巴丁格将得到与泰勒一样的合同。此前媒体曝光泰勒的合同为期四年,总价值万美元,其中前两年为保障性合同。巴丁格预计会在接下来几天内正式宣布签约加盟火箭。' union all select'韦弗被曝已与希腊豪门签约','据国际篮球网报道,前火箭队球员范-韦弗已经与希腊豪门奥林匹亚科斯队签订了合同。韦弗得到一份为期两年,总价值万美元的合同。' union all select'马刺豪掷千金为对抗湖人','马刺队在今夏休赛期补充了几员大将,主教练格雷格-波波维奇日前在接受Yahoo!体育采访时透露,马刺队不惜缴纳奢侈税构建豪华阵容就是为了对抗湖人队,争取拿到第五个总冠军。' union all select'华莱士未曾想过离开汽车城','此前本-华莱士已经同意重返底特律活塞,并且以老将底薪和活塞签下一份年万美元的合同,而据《每日先驱报》专栏作家米克-麦格劳透露,这位当年叱咤NBA赛场的内线防守悍将甚至从来就没有考虑过要离开活塞队。' union all

select'米勒竟好横刀夺爱追求人妻','对于那些没看过雷吉·米勒在步行者创造“米勒时间” 的“后”们,应该怎么介绍这位前NBA球星呢?难道从前天洛杉矶马里布海滩上空那架飞机拉的横幅说起?恐怕没有哪位家长愿意这么做。' union all select'姚明:没把上海当投资项目乐得生意做了好人当了','“姚蜜”说:不缺广告效应的姚明收购濒临绝境的上海东方篮球俱乐部,说明他是真的想为曾经的母队做点事情。' union all select'火箭不敌奇才终结年纪录','此役姚麦组合状态糟糕,姚明投中得到分个篮板次盖帽,麦迪投中拿下分个篮板次助攻,两人联手竟不如得到分个篮板次助攻次盖帽的贾米森。' --- --第一步启用数据库的全文索引 sp_fulltext_database enable--启用数据库的全文索引 go --第二步:建立全文目录 createfulltextcatalog tb_fulltext in path N'D:/Program Files/Microsoft SQL Server2005/MSSQL.1/MSSQL/FTData' withaccent_sensitivity=on--区分重音 authorization dbo;--全文目录的所有者 --第三步:建立全文索引 createfulltextindexon tb (title,detail) keyindex pk_id--指定索引列,为了提高性能,最好使用聚集索引 on tb_fulltext withchange_trackingauto--在关联的表中修改了数据时,自动更新全文索引。 --第四步:查询示例:

SQL Server 2005数据库引擎启动服务器的方法

SQL Server 2005 不允许远程连接解决方法 做课程设计时,很多学生都遇到这个问题。把解决方法写在这儿,供参考。 刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到SQL Server 2005 时,在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。(provider: 命名管道提供程序, error: 40 - 无法打开到SQL Server 的连接) "搜MSDN,上面有一片机器翻译的文章,是在让人难以明白,现在总结如下:明白了SQL Server是个网络数据库就可迎刃而解了,简单的分为下面的集中情况。 1. 数据库引擎没有启动。 有两种启动方式: (1)开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动; (2)可打开:开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER) ,并单击工具栏中的"启动服务"按钮把服务状态改为启动; 使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了. 2. 是否已经允许远程连接。 这个部分可以简单的分为4个方面,分别是在SQL Server上启用远程连接、启用SQL Server 浏览服务、在Windows 防火墙中为SQL Server 2005 创建例外和在Windows 防火墙中为“SQLBrowser”创建例外。下面是几个具体的操作方式,摘自MSDN,个人觉得文章的黑体部分应当特别的一起我们的注意。 在SQLServer 实例上启用远程连接 1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器” 2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器” 3.然后单击展开“数据库引擎”,选中“远程连接”,在右边选中“本地连接和远程连接”, 再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”,您会看到下消息:“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回 4.展开“数据库引擎”,选中“服务”,在右边单击“停止”,等到MSSQLSERVER 服务停止, 然后单击“启动”,重新启动MSSQLSERVER 服务。(更改其它选项后,一定要重启MSSQLSERVER 服务,才能将更改应用!!) 启用SQLServer 浏览器服务

连接SQL server2005数据库端1433端口的正确方法

连接SQL server2005数据库端1433端口的正确方法 SQL server 2011-02-20 20:49:49 阅读14 评论0 字号:大中小订阅 安装完程序后,连接端口1433前,要做的几件事情和注意事项总结一下。 步骤: 1.关闭数据库引擎,关闭数据库引擎有三种方法: (1)开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果已启动可单击“停止”按钮,即可关闭数据库引擎。 (2)开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER) ,并选中右击,点击停止,即可关闭数据库引擎。 (3) 开始->程序->Microsoft SQL Server 2005-> SQL Server Management Studio,在弹出的连接数 据库引擎对话框中点击“连接”按钮,然后选中服务器名称,右击“停止”按钮,即可关闭数据库引擎。 补充注意点: 有时候在启动数据库引擎的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁 止.然后再执行上述一种方式操作就可以了. 2.配置服务器端和客户端的TCP/IP协议: 配置工具->SQL Server Configuration Manager->MSSQLSERVER的协议 看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中 "TCP端口"为1433,"已启用"改为"是" 配置工具->SQL Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP 选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是" 3.开启数据库引擎,方法参考步骤1中的(1)、(2)两点。 4.连接端口1433 开始–>输入cmd –>回车–>telnet localhost 433->回车 出现黑屏,表示本机连接端口1433成功 前几次,连接端口1433失败的原因主要是在配置服务器端和客户端的TCP/IP协议前,没有先关数据库引擎,而是配置完服务器端和客户端的TCP/IP协议后,再关数据库引擎。正确的顺序是:(1)关数据库引擎,(2)配置服务器端和客户端的TCP/IP协议,(3)启动数据库引擎,(4)连接端口1433。

SQLserver2008全文检索使用方法

SQLserver2008全文检索使用方法 1.开启SQL Full-text服务 图1 开启SQLServer Full-text服务 保证SQL Full-text Filter Daemon Launcher服务处于开启状态,不同版本SQLServer全文检索服务名称可能稍有不同,如果服务列表中没有这个服务,请使用SQLServer安装光盘安装“全文检索”组件。 2.启用全文检索 执行SQL语句启用全文检索: Execute sp_fulltext_database 'enable'

3.设置全文语言为中文 图2 设置全文语言 在服务器->属性->高级中,设置默认全文语言为2052(中文)。 4.建立数据表 在需要全文检索的数据表中,必须有一列字符型的字段存放文件类型,例如建表语句中的FileType。必须有一列Varbinary(Max)类型的字段存放文件内容,例如建表语句中的FileContent。 建表SQL语句示例: CREATE TABLE SampleBlobTable ( [PKID]int identity(1,1)primary key, [FileName]Nvarchar(255)null, [FileType]Nvarchar(32)null, [FileContent]VARBINARY(MAX)NULL,

[AddTime]datetime default(getdate()) ) 5.建立全文索引 步骤1 建立全文索引 在需要全文检索的数据表上点击右键->全文索引->定义全文索引。

步骤2 选择唯一索引 步骤3 选择表列

正确配置SQL Server 2005数据库服务器

正确安装SQL Server 2005之后。 1.打开“SQL Server 外围应用配置器”。 2.点击“服务和连接的外围应用配置器”,打开服务和连接的外围应用配置器 对话框,展开“MSSQLSERVER”下的“Database Engine”,然后点击“远程连接”,则右侧设置“本地连接和远程连接”下面的“同时使用TCP/IP和named pipes”项。然后应用确定。 3.设置例外SQL Server端口。在“控制面板”中打开“Windows防火墙”,选 择“例外选项卡”。点击添加端口,给个名称,端口SQL默认的是1433(你

一般不要改动),当然你也可以在“SQL Server Configuration Manager”中的网络配置中修改。 4、以Windows身份进入SQL Server Management Studio,展开“安全性”->“登录名”,右键新建登录名,填入登录名,在“常规”中,选择SQL Server身份验证,并填入密码。在“用户映射中”,为用户在相应的数据库中设置对应的权限,另外在“状态”中,将登录设置“启用”。这样便新建了一个用于网络登录SQL服务器的用户账号。

5、在SQL Server Management Studio中,右键点击服务器,选择属性弹出“服务器属性”对话框,点击左侧的“安全性”,在“服务器身份验证”项中选择“SQL Server 和Windows 身份 验证模式”然后点击确定。

6、在SQL Server Configuration Manager中,重启“SQL Server(MSSQLSERVER)”服务。 7、在SQL Server Management Studio,可以使用服务器的IP地址和网络用户登录。另外,如果更改了SQL Server的端口,则在此处的“服务器名称”中填入IP后,用逗号隔开加端口号,如:222.195.11.219,418。

SQL Server2008中全文检索的实现5页

SQL Server2008中全文检索的实现 1 引言 随着计算机的普及和网络技术的发展,我厂的生产管理、数据查询、公文流转等大都实现了计算机管理,方便了信息交流与共享,提高了生产效率。但是,目前针对散落在个人、单位电脑中的WORD文档、电子表格以及多媒体汇报(PPT)文档等还没有一套完整的管理系统,既造成了存储资源的浪费,又不利于资源的共享。因此,需要一个文档信息管理系统,把这些分散的文档集中存储到数据库中,为用户提供一个统一的、可以多方式检索的平台,方便用户进行科学、高效地获取信息。 而对存储在数据库中的大量非结构化的文档数据进行查询时,通过普通的SQL语句是无法实现的(不能使用LIKE谓词来查询格式化的二进制数据);即使是非二进制的普通类型字段查询,对数百万行文本数据执行的LIKE 查询可能需要花费几分钟时间才能返回结果;但对同样的数据,全文索引查询只需要几秒或更少的时间。因此要实现一个能够快速实现检索的文档管理平台,有必要应用全文检索技术。 2 全文索引简介 全文索引是以文本数据为主要处理对象,提供根据数据资料的内容来实现的信息检索。全文搜索通常用于基于Web的应用程序、文档管理系统以及自定义应用程序,以便对存储在数据库中的数据提供文本搜索功能。 Microsoft公司开发的SQL Server 2008是一款面向高端的数据库系统,它继承了SQL SERVER以前版本的一些强大的优势,界面更加友好。它的全文索引功能配置简单、使用方便,为索引和查询数据库中存储的结构

化和非结构化文本数据提供了可靠、快速而灵活的方法。 3 全文索引实现过程 下面以多媒体信息管理平台为例,详细介绍一下全文索引的实现方法。 第一步,登陆SQL Server 2008服务器 第二步,在SQL Server中建立一个使用全文索引的数据库dmtpt,要选中使用全文索引选项。在该数据库中建立一个存储文档文件的表 main_files。 第三步,在main_files表上点击右键,选择“定义全文索引”,进入全文索引向导对话框。 第四步,选择将要对其进行全文索引的列。 第五步,选择数据发生变化时,全文索引的更新方式。这里选择自动,以保证更改的数据随时会被检索到。 第六步,全文目录的作用是存储全文索引,要创建全文索引必须先创 建全文目录。 第七步,定义填充计划可以添加或修改确定何时填充或重新填充全文目录的计划。第八步,完成全文索引向导。 以上是建立全文索引的全过程。完成建立后,使用全文索引语句,即可以对其进行全文检索。 4 全文索引语句CONTAINS和FREETEXT的使用 SQL Server 2008提供的全文索引语句主要有CONTAINS和FREETEXT。CONTAINS语句的功能是在表的所有列或指定列中搜索:词或短语、词或短

VC++环境下连接SQL_Server数据库方法-实验六

VC++环境下连接SQL Server数据库方法指导 实验类型:设计型 一、实验环境 1.Windows XP操作系统; 2.VC++6.0开发环境; 3.SQL server 2000数据库管理系统。 二、实验内容和要求 利用VC开发应用程序,要求能够通过界面完成对数据库中数据的查询、插入、删除以及修改。 三、实验原理 VC访问SQL Server数据库,常用的方法有两种:通过ODBC连接和通过ADO连接。下面分别介绍一下。 采用ODBC方式要求先创建ODBC数据源,应用程序通过数据源与数据库连接;并且在创建应用程序时,只能是基于单文档或多文档,而无法直接创建基于对话框的应用程序。 采用ADO方式无需创建数据源,应用程序可通过ADO直接与数据库连接;ADO方式可以创建基于对话框的应用程序。 两种方式都要在应用程序中添加代码以完成相应的初始化功能。 四、实验步骤 下面通过两个例子分别介绍基于ODBC方式和基于ADO方式的实验步骤。 1 基于ODBC方式的实验步骤 (1)在SQL Server2000中创建数据库student,该数据库中有学生表s用来存放学生信息。 s表的创建方法在此不详述。 (2)创建ODBC数据源 “开始”--〉“设置”--〉“控制面板”—〉“管理工具”—〉“数据源(ODBC)”,打开 之后出现如图1所示窗口。

图1 点击“添加”按钮,出现图2。 图2 选择SQL Server,点击“完成”,出现图3。 图3 名称中填写所创建的数据源的名称,本例中为student,描述可以不填。因为SQL Server 的服务器和客户端均安装在本地计算机上,所以服务器为(local)。如果本地计算机上只安装了客户端,服务器安装在另外的机器上,服务器为另一台机器的名称。 点击“下一步”,出现图4。

(转)sql2005全文索引

(转)sql2005全文索引 理論部份 前言 在数据库中快速搜索数据,使用索引可以提高搜索速度,然而索引一般是建立在数字型或长度比较短的文本型字段上的,比如说编号、姓名等字段,如果建立在长度比较长的文本型字段上,更新索引将会花销很多的时间。如在文章内容字段里用like语句搜索一个关键字,当数据表里的内容很多时,这个时间可能会让人难以忍受。在SQL Server中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数据的速度,在本節里,将会对全文索引进行详细的介绍 (1)全文索引概念: 全文索引与普通的索引不同,普通的索引是以B-tree结构来维护的,而全文索引是一种特殊类型的基于标记的功能性索引,是由Microsoft SQL Server全文引擎服务创建和维护的。使用全文索引可以快速、灵活地为存储在SQL Server数据库中的文本数据创建基于关键字查询的索引,与like 语句不同,like语句的搜索是适用于字符模式的查询,而全文索引是根据特定语言的规则对词和短语的搜索,是针对语言的搜索。 (2)全文索引常用术语 (2.1)全文索引:一种特殊的索引,能在给定的列中存储有关重要的词及位置的信息,使用这些信息可以快速进行全文查询,搜索包括特定词或词组的行. (2.2)全文目录:全文目录是存储全文索引的地方,全文目录必须驻留在与SQL Server实例相关联的本地硬盘上,每个全文目录可用于满足数据库内的一个或多个表的索引需求. (2.3)断字符与词干分析器:断字符与词干分析器都是用于对全文索引的数据进行语言分析的.语言分析通常都会涉及到查找词的边界和组合动词两个方面,其中要查找词的边界,也就是确定哪几个字符是"词",称之为"断字".组合动词也就是词干分析,用于分析词.根据语言的不同,语言分析规则也不尽相同,由此可以为每个全文索引列指定不同的语言.每种语言的断字符能够使得访问语言生成的词更为准确

JAVA连接SQL2005数据库的总结

关于JAVA连接SQL2005的问题 下面总结如下: 一、JAVA连接SQL的语句 但连接SQL2005,已经改为: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=数据库名","数据库登录名","登录密码"); 二、JAVA连接SQL都要用到驱动程序 SQL2000需要三个jar包:mssqlservice.jar,msutil.jar,msbase.jar SQL2005需要一个jar包:sqljdbc.jar 所以SQL2000和2005的连接方法是不一样的, 到微软下载"Microsoft SQL Server 2005 JDBC Driver"最新版本,现在的应该是1.2 下面Microsoft SQL Server 2005 JDBC Driver的安装说明: 1. 将 sqljdbc_<版本>_enu.exe 下载 2. 运行 sqljdbc_<版本>_enu.exe 3. 出现提示时,输入安装目录;建议您将此 zip 文件解压缩到 %ProgramFiles% 中的默认目录下: Microsoft SQL Server 2005 JDBC Driver 4.在环境变量CLASHPATH后加上C:\Program Files\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar(这是1.2版的,其它版本按实际修改......) 但上面只解决了驱动程序的问题..... 三、另外有时候会出现"SQL SERVER 2005使用sa 登录失败-提示该用户与可信SQL Server 连接无关联"或除sa外的用户登录失败的问题. 解决方法如下: 1.打开SQL Server Management Studio 2.右键点击服务器,选择Properties(属性),点击Security(安全性), 将server authentication服务器身份认证从windows authentication mode (windows身份认证模式) 修改为Sql Server and Windows Authentication mode(SQL server和windows 身份认证模式). 3.回到SQL Server Management Studio服务器那,在服务器下双击打开 security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态),在设置中将Login(登录)设置为Enabled(启用)。(忘记sa 密码的可在常规修改密码)

sqlserver全文检索

Sqlserver 全文检索功能浅解 全文索引和全文检索是sql server 7.0的新增功能,它能够对数据中的字符类型列(如varchar、text等类型列)进行检索,并通过索引实现全文搜索查询。sql server常规索引与全文检索相比,二者的区别如下: 常规索引全文索引 使用create index或约束定义创建 通过删除或执行drop index语句删除 使用全文索引存储过程创建和删除 当插入、修改或删除数据时,sql server能够自动更新常规索引内容只能通过任务调度或执行存储过程来填充全文索引 每个表可以建立多个常规索引,索引不能分组每个表只能有一个全文索引,同一个数据库中的多个全文索引可以组织为一个全文目录 常规索引存储在数据库文件中全文索引存储在文件系统中 为了支持全文索引操作,sql server 7.0新增了一些新存储过程和transact-sql语句,使用这些存储过程创建全文索引的SQL SERVER数据库全文索引的示例,以test数据库为例。 首先,介绍利用系统存储过程创建全文索引的具体步骤: 1) 启动数据库的全文处理功能(sp_fulltext_database) 2) 建立全文目录(sp_fulltext_catalog) 3) 在全文目录中注册需要全文索引的表(sp_fulltext_table) 4) 指出表中需要全文索引的列名(sp_fulltext_column) 5) 为表创建全文索引(sp_fulltext_table) 6) 填充全文目录(sp_fulltext_catalog) ---------********示例********------------- 说明:下面所用到的test为数据库名,dbo.T_FX_DRM_20为test数据库中的一张表,FX_D20_ID是表dbo.T_FX_DRM_20中的一个列名 以对test数据库的表dbo.T_FX_DRM_20的FX_D20_ID列建立全文索引,之后使用索引查询FX_D20_ID列中包含有"*****"字符串的数据:在这之前,需要安装Microsoft Search 服务,启动SQL server全文搜索服务。 use test go exec sp_fulltext_database 'enable' 为dbo.T_FX_DRM_20表建立全文索引数据元,其中create为建立,activate为激活,deactivate为关闭表全文索引的激活状态,使它不再参加全文目录填充,drop为删除;create 参数中,后面跟的是全文目录名称和索引列名。 下面语句为test数据库中的dbo.T_FX_DRM_20表创建全文索引数据元,存储该数据元的全文目录为FT_pubm,所使用的唯一索引为PK_T_FX_DRM_20(dbo.T_FX_DRM_20表中为FX_D20_ID列的PRIMARY KEY约束所建立的唯一索引)

SQL2005数据库安装详细步骤(带图解说明)Word版

1,安装前准备: 安装IIS,打开控制面板,点“添加或删除程序”,点“添加/删除Windows组件(A)”,把“Internet 信息服务(IIS)”前面的勾选框的勾选上,点“下一步”,一路确认完成。这个过程一般没有问题。 当然,要装SQL Server 2005,当然要准备安装程序(光盘),也就要选对版本。 我之前下载了个“Microsoft SQL Server 2005 Enterprise Edition”,兴冲冲的去安装,安装不成功,最后看他的安装说明里面恰好这个版本“Windows XP Professional Edition SP24”是不能安装的,背啊。。。。才知道磨刀不误砍材功的道理,后来去下载了“Microsoft SQL Server 2005 Standard Edition”,920MB的压缩包。 2,SQL Server 2005的安装光盘共有2张,先打开第一张,点“服务器组件、工具、联机丛书和示例(C)”

此步骤系统配置检查很重要,14个项目里面如果有1项有错误或者警告,整个SQL Server 2005都将不正常。 我第一次在一台笔记本的Windows xp2系统上安装就遇到了一个COM+组建的警告,以为没有什么大不了,不过最后是发现程序不能正常运行,在google,百度上搜索半天,操作了半天,结果还是问题依旧。 不过我回家第二次在台式机上的Windows xp2安装就没有问题,一切正常。 看来和Windows xp2的系统版本没有关系,而是我的笔记本电脑的Windows xp2系统不正常了,可能重新装下系统就可以正常安装SQL Server 2005了。 重装系统看来是遇到问题的唯一法宝——除非你是那种专家级别的高手。在这个步骤遇到问题或者错误警告还是举手投降了,选择重新安装系统。可能那样解决问题的时间还要短些。烦恼也少些。

开启sql2005远程连接功能

开启sql2005远程连接功能 启用TCP/IP协议,设置端口 开始菜单->程序->Microsoft SQL Server2005->配置工具->SQL Server Configuracion Manager SQL Server2005网络配置->SQLEXPRESS的协议->TCP/IP,双击打开 在‘协议’选项卡把‘已启用’由默认的‘否’改为‘是’,在‘IP地址’选项卡把最下面‘IP All’选项卡里的TCP动态端口改为空,TCP端口改为‘1433’或者您需要的端口号码。

启用sa和远程连接 开始菜单->程序->Microsoft SQL Server2005->SQL Server Management Studio Express 1、登陆改为混合模式:以windows方式连接并进入数据库,右键点击你的数据服务器->属性->安全性>选中Sql server和windows验证方式。

2:设置一个Sql server方式的用户名和密码,具体设置如下: 点击你的数据服务器->安全性>登录名>sa>右键打开属性 a:状态>是否允许连接>改为授予,登录改为启用 b:常规>密码改为1qaz2wsx 这样就设置了一个用户名为sa,密码为:1qaz2wsx的用户,下次在登陆时,可以用Sql server方式,用户名为sa,密码为:sa123456的用户进数据库了. 做完上面三步后,这样写连接字符串就可以顺利进入数据库了, (server=.\\sqlexpress,1433;uid=sa;pwd=sa123456;database=master"); 附加数据库 开始菜单->程序->Microsoft SQL Server2005->SQL Server Management Studio Express 1、登陆改为混合模式:右键点击数据库->附加->添加

SQL Server 2005全文检索技术

SQL Server 2005全文检索技术 1. 前言 1.1 应用背景 随着我国政府和企业信息化的快速普及和发展,来自于供应链、企业生产系统、办公自动化(或公文行文)系统、人事绩效系统、财务管理系统等无一不在积累着各类数据。不仅如此,来自于企业门户网站、通过各种手持移动设备传递的会议通知、保存在业务员笔记本和PDA中的离线产品报价和短期个人销售信息也不一而足。可以说信息无处不在、无时不在、无设备不在,但是它们是否可以在您的手中,即政府和企业的信息系统是否可以把员工需要的信息呈送到他们的指尖之下,这恐怕是另一回事了。信息化普遍实施后,数据获取方式、获取手段的局限,是国内信息化建设主要面临的尴尬现状。 图1:Your Data,Any Where、Any Time、Any Device. But not on your finger. 1.2 主要检索技术的区别 有了数据但是没有被使用,那么这些数据不应该被称为信息。它们无非是不断充斥设备和网络的比特而已,但是如何把数据提供给必要的人员,检索技术是其中非常有效的途径之一。本文笔者主要基于微软平台,针对SQL Server 2005提供的全文检索技术进行介绍。与关系数据查询、多维数据库查询和基于XML 的XQuery、XPath不同,全文检索技术主要处理对象是基于超大数据量的文本数据和结构化的二进制数据上类似LIKE的模糊查询。主要区别见下表。

表1:全文检索与关系数据库查询、多维数据查询、XML查询的对比 2. 全文检索技术简要介绍 2.1 基本概念 如上文所说,全文检索主要应用领域如下: (1)大数据量、超大数据量的结构化平文本数据和模糊匹配查找(Char、Varchar、Nvarchar)。 (2)大数据量、超大数据量的层次型XML数据展开后的查找---含模糊查找(Xml type)。 (3)标准格式的二进制非结构化Word数据的查找(VarBinary[max]、Image)。 与其他检索技术不同的是,全文检索不仅仅提供词汇层次的查询支持,而且可以根据语言环境、不同语言的特点,甚至于用户自定义的配置提供不同语义级的大容量数据模糊匹配检索支持。为了提供语义层次的检索,SQL Server 2005的全文检索明确了如下几个概念: (1)断字符(Word Breaker):因为对于不同的语言,哪些符号可以用于词汇的分割是不同的,因此全文检索支持不同语言环境的不同断字符。 (2)标记(Token):是由断字符标识的词或字符串。由于划分是基于特定语言完成的,因此也可以做到语义层次的支持。 (3)干扰词(Noise Word):主要是那些经常出现,但是对于检索没有多少帮助的词汇。例如:英语中的“a”、“and”、“is”、“the”,汉语中的“的”、“不”、“以”、“了”等。SQL Server 2005中提供配置文件,允许用户自定义自己语言、甚至与本行业、本企业的检索干扰词。 (4)词干分析器(Stemmer):通过断字符分割后,根据具体的语言和该语言的语法规程生成的特定词汇的变形。

如何连接SQL数据库

1.下载驱动 https://www.doczj.com/doc/6714340806.html,//download/sqljdbc.jar 2.导入驱动包点击 3. 在下拉菜单中,先择最后一项

下面到代码啦! //package https://www.doczj.com/doc/6714340806.html,; import java.sql.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { String conURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ff";

try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch(https://www.doczj.com/doc/6714340806.html,ng.ClassNotFoundException e) { System.out.println(e.getMessage()); } Connection con=DriverManager.getConnection(conURL,"sa","123"); con.close(); } catch(SQLException e) { System.out.println("SQLException:"+e.getMessage()); } } } 这是连接代码 再下来就到SQL服务器的配置啦! 打开这里,会打开吧,不会打开的就问一下我,我的QQ是576495017

SQL2005全文索引

理論部份 前言 在数据库中快速搜索数据,使用索引可以提高搜索速度,然而索引一般是建立在数字型或长度比较短的文本型字段上的,比如说编号、姓名等字段,如果建立在长度比较长的文本型字段上,更新索引将会花销很多的时间。如在文章内容字段里用like语句搜索一个关键字,当数据表里的内容很多时,这个时间可能会让人难以忍受。在SQL Server中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数据的速度,在本節里,将会对全文索引进行详细的介绍 (1)全文索引概念: 全文索引与普通的索引不同,普通的索引是以B-tree结构来维护的,而全文索引是一种特殊类型的基于标记的功能性索引,是由Microsoft SQL Server全文引擎服务创建和维护的。使用全文索引可以快速、灵活地为存储在SQL Server数据库中的文本数据创建基于关键字查询的索引,与like语句不同,like语句的搜索是适用于字符模式的查询,而全文索引是根据特定语言的规则对词和短语的搜索,是针对语言的搜索。 (2)全文索引常用术语 (2.1)全文索引:一种特殊的索引,能在给定的列中存储有关重要的词及位置的信息,使用这些信息可以快速进行全文查询,搜索包括特定词或词组的行. (2.2)全文目录:全文目录是存储全文索引的地方,全文目录必须驻留在与SQL Server实例相关联的本地硬盘上,每个全文目录可用于满足数据库内的一个或多个表的索引需求.

(2.3)断字符与词干分析器:断字符与词干分析器都是用于对全文索引的数据进行语言分析的.语言分析通常都会涉及到查找词的边界和组合动词两个方面,其中要查找词的边界,也就是确定哪几个字符是"词",称之为"断字".组合动词也就是词干分析,用于分析词.根据语言的不同,语言分析规则也不尽相同,由此可以为每个全文索引列指定不同的语言.每种语言的断字符能够使得访问语言生成的词更为准确 (2.4)标记:由断字符标识的词或字符串 (2.5)筛选器:用于从存储在varbinary(max)或image列中的文件内提取指定的文本类型的文本,当varbinary(max)或image列中包含带有特定文件扩展名的文档时,全文搜索会使用筛选器来解释二进制数据,筛选器会从文档中提取文本化信息并用于建立索引. (2.6)填充(爬网):创建维护全文索引的过程叫填充,也叫爬网. (2.7)干扰词:经常出现,但又不是要搜索的词.为了精简全文索引,这些词通常会被忽略. (3)全文索引的体系 SQL Server的全文索引是由SQL Server FullText Search服务来维护的,该服务可以在W indows操作系统的【管理工具】-【服务】里找到,如图3.1所示,在此可以启动、停止、暂停、恢复和重新启动该服务.只有SQL Server FullText Search服务在启动状态时,才能使用全文索引.

《SQL Server2005数据库应用技术》习题参考答案

1、简述数据与信息之间的联系与区别。 1、描述事物的符号称为数据,信息是就指对结果进行加工处理,并对人类社会实践和生产活动产生决策影响的数据。数据是物理的,信息是观念性的,数据和信息密切相关,信息可以数据化,数据代表信息,两者既有联系又有区别。 2、简述数据库系统的设计流程。 2、数据库设计的流程包括六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。 3、社么是E-R图?E-R图由哪些要素构成? 3、E-R图是用来描述实体-联系的模型图。 E-R图的组成要素:表示实体的“矩形”、表示实体属性的“椭圆”、表示实体间联系的“菱形”。 4、逻辑结构设计有哪些步骤? 4、逻辑结构设计步骤:(1)概念模型转化为关系模型。(2)将关系模型转化为特定数据管理系统下的数据模型。(3)数据模型进行优化(通常采用规范化理论),以提高数据库应用系统的性能。 5、物理结构设计有哪些步骤? 5、物理结构设计步骤:(1)确定数据库的物理结构(存储结构、存储位置)。(2)确定数据库的存取方法。(3)对物理结构进行评价,评价的重点为时间和空间效率。 6、数据库的维护包括哪些工作? 6、数据库的维护工作:对数据库的监测、分析和性能的改善;数据库转存和故障恢复;数据库的安全性、完整性控制;数据库的重组和重构造。 7、简述安装SQL Server2005所需的软硬件环境。 软件环境:

9何在SQL Server2005 Management Studio中增加一个数据库? 9可利用“附加”数据库功能: (1)在【对象资源管理器】窗口中,右击【数据库】选项,弹出快捷菜单,选择【附加】选项,出现【附加数据库】对话框。 (2)单击【添加】按钮,出现【定位数据库文件】对话框。从中选择要附加的数据库的主要数据文件,单击【确定】按钮,返回【附加数据库】对话框。 (3)单击【确定】按钮,即可把所选的数据库附加到当前SQL Server实例上 10、如何一个查询,并保存脚本文件? 10、打开查询编辑器窗口。在查询编辑器窗口中键入脚本,单击工具栏上的分析按钮,分析脚本语法,使其正确。(2)按F5,或者单击工具栏上的执行按钮,执行脚本,或者也可以在菜单栏上的【查询】|【执行】。(3)选择“文件”菜单中的【保存】命令,或单击工具栏的【保存】按钮,在打开的保存对话框转播中,选择存储位置,输入脚本文件名,单击“保存”即可保存脚本文件。 11、SQL Server2005安装成功后,有哪些系统数据库?其用途分别是什么? 11、统数据库: master数据库:是SQL Server系统最重要的数据库。记录SQL Server 系统的所有系统级信息。 model数据库:作为用户创建新数据库的模板。 msdb数据库:是代理服务器数据库。它为报警、任务调度和记录操作员的操作提供存储空间。 tempdb数据库:记录了所有的临时表?临时数据和临时创建的存储过程等保存临时对象的一个工作空间? 12、据库文件有哪些类型?其作用分别是什么? 12、据库文件类型: (1)主要数据文件:包含数据库的启动信息,并指向数据库中的其他文件。主要数据文件的文件扩展名是.mdf。 (2)次要数据文件:是可选的,由用户定义并存储用户数据。次要数据文件的文件扩展名是.ndf。 (3)事务日志文件:用于记录所有事务以及每个事务对数据库所做的修改。 13、库如何扩容?有几种方法? 13、改现有数据库中数据文件的容量,或者增加数据文件扩容数据库。 有两种方法:

相关主题
文本预览
相关文档 最新文档