使用sql?server中的全文索引
发布时间:2020-12-12 02:23:28 所属栏目:MySql教程 来源:网络整理
导读:一般情况,使用sql?server中的全文索引,经过大体4个步骤: ?????1).安装full?text?search全文索引服务; ?????2).为数据表建立full?text?catalog全文索引目录; ?????3).进行full?text?catalog的population操作(使全文索引与数据表内容同步); ?????4).使用全
一般情况,使用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来自动同步索引数据库。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |