使用sql server中的全文索引

2016-01-29 16:41 3 1 收藏

使用sql server中的全文索引,使用sql server中的全文索引

【 tulaoshi.com - SQLServer 】

一般情况,使用sql server中的全文索引,经过大体4个步骤:
     1).安装full text search全文索引服务;
     2).为数据表建立full text catalog全文索引目录;
     3).进行full text catalog的population操作(使全文索引与数据表内容同步);
     4).使用全文索引进行查询。
     为了在数据表内容更新时全文索引数据库的内容也保持最新,可以通过第5步建立full text catalog 的Population自动操作Schedule.
    
 1.sql server默认不安装full text search service,需要安装时选择装上才可以使用。如果安装了full text search service,那么Sql Server Enterprise manager(企业管理器)中,展开一个数据库,会有一个Full Text Catalogs;选中一个数据库,右键菜单的“新建“中有一个New Full Text CataLog.并且选中任意一个表格,点右键,会有一个Full-text Index Table(全文索引表)的菜单可以使用。如果full text search service没有安装,那么这个菜单是灰色的。
    
 2.为表建立full text catalog.假设数据库CoreDB中有一个表myBBS,这个表存储的是一个论坛所有帖子的ID,标题(title),作者(author),内容(content)等。我们选中表myBBS,点右键,New Full Text Catalog,选择content作为全文索引的字段,建立新的Full Text Catalog,取名为content.
   
  3.到这个时候,只是建立了full text catalog,并不能使用全文索引。需要使全文目录中的内容与数据库索引表的内容相一致,这一步通过Full Population或Incremental Population来实现:企业管理器中展开数据库CoreDB,双击Full-Text Catalog,会看到有一个名为content的全文目录,选中右击,点Start Full Population或Start Incremental Population,此时即可使用索引功能。
    
 4.使用索引功能:
     select * from mybbs where Contains(content,’"windows"’);
     此语句在mybbs表的全文索引content中,查询含有windows字符串的记录。
     
5.以后数据库中的索引表有更新时,都需要进行Population同步操作,全文查询的内容才是新的数据表中的内容。因此我们可以设定sql server自动进行Population操作:右击名为content的full text catalog,Schedules,New Catalog Schedules,输入名字,选中Enabled选项,可以设置计划任务的执行频率,可设置每次启动SQL server agent的时候启动,也可以设置执行一次,或者设置重复执行,重复执行里面可以设置执行频率为月,周,日,可以设置每天若干小时执行一次。(这样只要Service里面启动了sql server agent,population同步计划都会自动执行)
     
总结一下,通过安装全文索引服务,建立数据表的全文索引目录,同步全文索引数据库之后,即可开始使用全文索引查询。可通过建立full text catalog的自动population schedule来自动同步索引数据库。

来源:https://www.tulaoshi.com/n/20160129/1499325.html

延伸阅读
标签: SQLServer
一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集...
在未做全文检索以前,个人主页只能对Fs_Title(文章标题)字段进行模糊查询(like '%*%'),如果对内容进行模糊查询,速度极慢,有时还可能报错,今天终于有空了,把这个查询做好了,经过测 试,检索一万条纪录不到两秒时间。ENJOY~~ 代码如下: use  LuanLuanDB exec sp_fulltext_database 'enable' exec sp_ful...
一,索引的概述 1,概念: 数据库索引是对数据表中一个或多个列的值进行排序的结构,就像一本书的目录一样,索引提供了在行中快速查询特定行的能力. 2,优缺点: 2.1优点: 1,大大加快搜索数据的速度,这是引入索引的主要原因. 2,创建唯一性索引,保证数据库表中每一行数据的唯一性. 3,加速表与表之间的连接,特别是在实现数据的参考完整性方面特别...
比如: select * from table1 where name=''zhangsan'' and tID 10000 和执行: select * from table1 where tID 10000 and name=''zhangsan'' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了;而前...
标签: SQLServer
  全文索引和全文检索是sql server 7.0的新增功能,它能够对数据中的字符类型列(如varchar、text等类型列)进行索 引,并通过索引实现全文搜索查询。sql server常规索引与全文检索相比,二者的区别如下: 常规索引                   ...

经验教程

295

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部