sql2008_全文索引详解

sql2008_全文索引详解

ID:14165930

大小:1.18 MB

页数:28页

时间:2018-07-26

sql2008_全文索引详解_第1页
sql2008_全文索引详解_第2页
sql2008_全文索引详解_第3页
sql2008_全文索引详解_第4页
sql2008_全文索引详解_第5页
资源描述:

《sql2008_全文索引详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、tree结构来维护的,而全文索引是一种特殊类型的基于标记的功能性索引,是由MicrosoftSQLServer全文引擎服务创建和维护的。使用全文索引可以快速、灵活地为存储在SQLServer数据库中的文本数据创建基于关键字查询的索引,与like语句不同,like语句的搜索是适用于字符模式的查询,而全文索引是根据特定语言的规则对词和短语的搜索,是针对语言的搜索。在对大量的文本数据进行查询时,全文索引可以大大地提高查询的性能,如对于几百万条记录的文本数据进行like查询可能要花几分钟才能返回结果,而使用全文索引则只要几秒钟甚至更少的时间就

3、可以返回结果了。1.2全文索引中常用的术语由于全文索引中使用了较多的新的术语,在此先介绍这些术语:l全文索引:一种特殊的索引,能在给定的列中存储有关重要的词及位置的信息,使用这些信息可以快速进行全文查询,搜索包括特定词或词组的行。l全文目录:全文目录是存储全文索引的地方,全文目录必须驻留在与SQLServer实例相关联的本地硬盘上,每个全文目录可用于满足数据库内的一个或多个表的索引需求。l断字符与词干分析器:断字符与词干分析器都是用于对全文索引的数据进行语言分析的。语言分析通常都会涉及到查找词的边界和组合动词两个方面,其中要查找词的边

4、界,也就是确定哪几个字符是“词”,称之为“断字”。__________组合动词也就是词干分析,用于分析词。根据语言的不同,语言分析规则也不尽相同,由此可以为每个全文索引列指定不同的语言。每种语言的断字符能够使得访问语言生成的词更为准确。l标记:由断字符标识的词或字符串。l筛选器:用于从存储在varbinary(max)或image列中的文件内提取指定的文本类型的文本。当varbinary(max)或image列中包含带有特定文件扩展名的文档时,全文搜索会使用筛选器来解释二进制数据,筛选器会从文档中提取文本化信息并用于建立索引。l填充(

5、爬网):创建维护全文索引的过程叫填充,也叫爬网。l干扰词:经常出现,但又不是要搜索的词。为了精简全文索引,这些词通常会被忽略。1.3全文索引的体系结构SQLServer的全文索引是由SQLServerFullTextSearch服务来维护的,该服务可以在Windows操作系统的【管理工具】à【服务】里找到,如图1.1所示,在此可以启动、停止、暂停、恢复和重新启动该服务。只有SQLServerFullTextSearch服务在启动状态时,才能使用全文索引。图1.1SQLServerFullTextSearch服务SQLServerFul

6、lTextSearch服务由两个部分组件支持:一个是MicrosoftFull-TextEngineforSQLServer(MSFTESQL),也就是SQLServer全文搜索引擎;另一个是MicrosoftFull-TextEngineFilterDeamon(MSFTEFD),也就是全文搜索引擎过滤器。MicrosoftFull-TextEngineforSQLServer的作用是填充全文索引、管理全文索引和全文目录、帮助对SQLServer数据库中的数据表进行全文搜索。MicrosoftFull-TextEngineFilte

7、rDeamon包含筛选器、协议处理程序和断字符三个组件,其作用是负责从数据表中访问和筛选数据以及进行断字和词干分析。其中,筛选器的作用是从文档中提取文本信息,并将非文本信息和格式化信息(如换行符、字体大小等信息)删除,然后生成文本字符串和属性的对应,并将它们传递给索引引擎;协议处理程序用于从指定数据库中的表内访问数据;断字符用于在查询或抓取的文档中确定字符边界位置。全文索引组件负责对全文索引的初始填充以及当全文索引表中的数据被修改时的更新。当全文填充(爬网)开始后,数据库引擎会将大量的数据存储到内存里,并通知MicrosoftFull

8、-TextEngineforSQLServer(MSFTESQL)开始进行索引。当MSFTESQL服务接到进行索引的通知后,使用协议处理程序组件从内存中取得数据进行处理后生成全文索引。MSFTESQL服务会将数据表中的某

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。