使用sql server中的全文索引

摘要:
通常,在SQL Server中使用全文索引时,我们要经历四个步骤:1)。安装全文搜索全文索引服务;2) . 为数据表创建fulltextcatalog全文索引目录;3) . 执行全文目录的填充操作;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来自动同步索引数据库。  

免责声明:文章转载自《使用sql server中的全文索引》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java格式化字符串,左对齐,左补0BigDecimal/Long 前后端交互失去精度解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

索引长度过长 ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

1.发现问题  今天在修改innodb表的某个列的长度时,报如下错误:   [html]view plaincopy  print? alter table test2 modify column id varchar(500);   ERROR 1071 (42000): Specified key was too long; max key ...

在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库

1. 检查Linux系统是否安装数据库 首先查看自己的系统是否安装了postgresql数据库命令如下:rpm -qa | grep postgresql 如果没有显示查询结果(如下图所示)说明就未安装postgresql数据库 2. 登录数据库 输入命令 su postgres 然后在输入命令psql,结果如入所示 这时相当于系统用户postgres...

Sqlite使用简单教程

一、 SQLite简介 SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极...

Httpd服务进阶知识-基于Apache Modele的LAMP架构之WordPress案例

          Httpd服务进阶知识-基于Apache Modele的LAMP架构之WordPress案例                                                 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.安装依赖包及数据库授权 博主推荐阅读:   https://www.cnblo...

SQL表分区之常规操作分区

新建一个数据库 2)新增的时候添加几个文件组 3)回到“常规”选项卡,添加数据库文件 看到用红色框框起来的地方没?上一步中建立的文件组在这里就用上了。再看后面的路径,我把每一个文件都单独放在不同的磁盘上,而且最好都是单独的放在不同的物理盘上,这样会大大提高数据的性能。 点击“确定”数据库就算创建完成了。 4)接下来要做的是建立一个分区行数,SQL语句...

SQL查询速度慢的原因分析和解决方案

SQL查询速度慢的原因分析和解决方案 查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计...