使用sql server中的全文索引
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来自动同步索引数据库。
使用sql server中的全文索引相关推荐
- sql server的搜索_在SQL Server中进行全文本搜索
sql server的搜索 介绍 (Introduction) In most cases, we will use clustered and non-clustered indexes to he ...
- SQL Server中的查询优化技术:提示和技巧
描述 (Description) Fixing bad queries and resolving performance problems can involve hours (or days) o ...
- SQL Server中的全文搜索
SQL Server中的全文搜索 一.概述 二.全文搜索查询 三.将全文搜索查询与 LIKE 谓词进行比较 四.全文搜索体系结构 4.1.SQL Server 进程 4.2.过滤器守护程序主机进程 五 ...
- SQL Server中的数据字典
数据字典是记录了数据库的系统描述信息的表和视图的集合,分为两类 系统自带:DBMS自带的,用于统计数据库中的相应信息.在SQL Server 数据库中的sys*表,里面记录着系统字段的定义.索引.完整 ...
- SQL Server中Identity标识列
SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.但它有时还会带来一些麻烦. SQL Server中,经常会用到Identity标识列,这种自增长的字段 ...
- predicate 列存储索引扫描_在SQL SERVER中导致索引查找变成索引扫描的问题分析
SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试.总结.归纳. 1:隐式转换会导致 ...
- mysql2008 limit,在SQL Server中实现 Limit m, n 的功能
在SQL Server中实现 Limit m, n 的功能 (2012-03-14 18:17:43) 标签: 杂谈 在MySQL中,可以用 Limit 来查询第 m 列到第 n列的记录,例如: se ...
- SQL Server中SELECT会真的阻塞SELECT吗?
在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.T ...
- 将Session值储存于SQL Server中
一般情况下,我们喜欢使用Session储存我们的变量.Asp.Net提供了下面一些方法储存Session的值: InProc State Server SQL Server "InProc& ...
最新文章
- Wormholes 虫洞 BZOJ 1715 spfa判断负环
- Windows 下 OpenGL ES 开发环境搭建
- c语言node程序,如何从Node.js调用C代码?
- 迅雷下载Linux Oracle11gR2和Oracle12c
- uni-app 实现微信授权登录
- java双引号的转义字符_好程序员Java教程分享常见的转义字符
- 上海电力学院计算机组成与结构试卷,上海电力学院试卷及成绩管理办法
- SQL中 拆解函数 之 strsplit()
- 求数列的最大子段和java_十大经典排序算法(Java版本)
- [codeup 2143] 迷瘴
- Smarty - 下载
- Java拦截器和过滤器
- 无法打开包括文件的解决办法
- codesmith mysql 模板_CodeSmith代码自动生成器 JAVA模版的制作---CodeSmith+MySQL+MyEclipse 10...
- python三引号的作用有哪些_Python中3种引号的作用与区别
- JEECG常见问题大全
- MJ:世界黑客大师赛的故事
- 申宝股票-A股长期向好趋势未
- 浙大oj(Basic Practice)1004
- 每日一算法:矩阵中最大正方形面积