1、启动 Microsoft Search 服务
  开始菜单-->SQL程序组-->服务管理器-->下拉筐-->Microsoft Search 服务-->启动它。
  2、 ..\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\目录里建一个非空noise.chs文件
  非空noise.chs文件,也有人说是空的noise.chs文件,但我每次都往里写几个没用的字母。
  3、建立环境
  打开查询分析器-->执行下列脚本:

--检查数据库pubs是否支持全文索引,如果不支持
--则使用sp_fulltext_database 打开该功能
if(select databaseproperty('DeviceInfoPortal','isfulltextenabled'))=0
execute sp_fulltext_database 'enable' --建立全文目录FT_PUBS
execute sp_fulltext_catalog 'FT_DeviceInfoPortal','create' --创建唯一索引
create unique clustered index Idx_files_id on dbo.files(fileid) --为title表建立全文索引数据元
execute sp_fulltext_table 'files','create','FT_DeviceInfoPortal','Idx_files_id' --设置全文索引列名
--execute sp_fulltext_column 'files','content','add'
execute sp_fulltext_column @tabname = 'files',@colname = 'content',@action = 'add',@type_colname = 'type'; --execute sp_fulltext_column 'files','content','drop' --建立全文索引
--activate,是激活表的全文检索能力,也就是在全文目录中注册该表
execute sp_fulltext_table 'files','activate' --填充全文索引目录
execute sp_fulltext_catalog 'FT_DeviceInfoPortal','start_full'
go --在您可以使用操作系统筛选器、断字符和词干分析器之前,您必须将它们加载到服务器实例中
execute sp_fulltext_service @action='load_os_resources', @value=1; --检查全文目录填充情况
While fulltextcatalogproperty('FT_DeviceInfoPortal','populateStatus')<>0
begin --如果全文目录正处于填充状态,则等待30秒后再检测一次
waitfor delay '0:0:30'
end 
--全文目录填充完成后,即可使用全文目录检索

select *
from files
where CONTAINS(*,'运行记录')
or CONTAINS(*,'Understanding')
or CONTAINS(*,'全文搜索') or CONTAINS(*,'出厂日期')

  结果如下:

  全文索引中的几个问题:
  1. 搜索时出现错误:
  服务器: 消息 7619,级别 16,状态 1,行 2
  查询子句只包含被忽略的词
  这种情况修改 \Mssql\Ftdata\Sqlserver\Config 下对应语言的干扰词列表文件

  2. 修改了干扰词文件,查询中文时仍然出现上述问题

  a. 首先检查你的SQL有没有安装最新的补丁,检查的方法是在查询分析器中运行:

  select @@version
  如果出来的版本号是8.00.760以下,则表明你未安装sp3的补丁,要装上。
  注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装。

  b. 配置全文索引时,单词断字符选择"中文(中国)"
  c. Noise.chs文件中至少有一个单词,例如:?

  d. 如果在全文检索时,你能正常修改干扰词文件,说明你的全文检索没有使用上这个文件。

  如果你配置的全文检索应该要用到这个文件,那就在

  “企业管理器--展开你的数据库--右键全文目录--重建全部全文目录”

  3. 表中的数据改变后,检索不到。
  方法1. 右键你的表--全文索引表--启用增量填充
  方法2. 右键你的表--全文索引表--更改跟踪,这样以后的修改会自动填充(有一定延迟)

  4. SQL Server 2000以上才支持对image列的全文检索。

创建全文索引----SQLserver的更多相关文章

  1. SQLServer之创建全文索引

    创建全文索引的必须条件 必须具有全文目录,然后才能创建全文索引. 目录是包含一个或多个全文索引的虚拟容器. 使用SSMS数据库管理工具创建全文索引 1.连接数据库,选择数据库,选择数据表->右键 ...

  2. SQL Server 创建全文索引

    背景知识: 全文目录是全文索引是容器.所以在创建全文索引前要有全文目录. 第一步: 创建全文目录: create fulltext catalog catalog_name [on filegroup ...

  3. MySQL创建全文索引

    使用索引时数据库性能优化的必备技能之一.在MySql数据库中,有四种索引:聚焦索引(主键索引).普通索引.唯一索引以及我们这里将要介绍的全文索引(FUNLLTEXT INDEX). 全文索引(也称全文 ...

  4. 创建在SQLServer 和 Oracle的 DBLINK

    dblink 当我们要跨本地数据库.訪问另外一个数据库表中的数据时,本地数据库中就必需要创建远程数据库的dblink,通过dblink本地数据库能够像訪问本地数据库一样訪问远程数据库表中的数据. 一 ...

  5. Sqlserver 创建到sqlserver 的链接服务器

    exec sp_addlinkedserver 'SN_MASTER_SRV', '', 'SQLOLEDB ', '129.223.252.173' exec sp_addlinkedsrvlogi ...

  6. (1)C# 创建ef sqlserver

    连接sql 如果报错不能连接的错误 把这三个IP地址的端口号设置上,并启用.第一个18.6是本机ip,之后就可以测试了 最后重启服务器

  7. 如何使用Navicat 创建一个SqlServer定时任务

    因为网上资料不全,所以自己琢磨了一上午,终于弄出来了,记录一下. step1: 右击[函数]选择[新建函数]添加一个存储过程 step2: 选择[过程],点击下一步直至完成,然后编辑存储过程,保存 s ...

  8. 关于SQLSERVER的全文目录跟全文索引的区别

    很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~ 先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ...

  9. SqlServer视图的创建与使用

    SqlServer系列之视图的创建与使用: 什么是视图? 视图的概述 在数据查询中,可以看到数据表设计过程中,考虑到数据的冗余度低.数据一致性等问题,通常对数据表的设计要满足范式的要求,因此也会造成一 ...

随机推荐

  1. android canvas drawtext 字高

    Paint pFont = new Paint(); Rect rect = new Rect(); pFont.getTextBounds("豆", 0, 1, rect); L ...

  2. leetcode-hard-array-287. Find the Duplicate Number

    mycode   77.79% class Solution(object): def findDuplicate(self, nums): """ :type nums ...

  3. Orcal数据类型总结

    一.Oracle中的varchar2类型 我们在Oracle数据库存储的字符数据一般是用VARCHAR2.VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Data ...

  4. 大数相乘 java

    <pre name="code" class="java">package bigMultiply; import java.math.BigInt ...

  5. matplotlib之直方图

    1.知识点 1.通过数据和组距得到组数 2.使用plt.hist(数据,组数)绘制频数直方图:使用plt.hist(数据,组数,normed=True)绘制频率直方图 3.使用plt.xticks(a ...

  6. SQL Server 等待统计信息基线收集

    背景 我们随时监控每个服务器不同时间段的wait statistics ,可以根据监控信息大概判断什么时候开始出现异常,相当于一个wait statistics基线收集,还可以具体分析占比高的等待类型 ...

  7. linux常用命令(9)nl命令

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  8. 【MFC】BitBlt详解

    设备上下文绘图有很多种方法.例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制.此外,还可以使用CDC类的位图函数来输出位图到设备上下文中. BitBlt 用于从原设备中复制位图到目标设备,语法 ...

  9. ASP.NET(C#)事务的创建、提交以及回滚 (附代码)

    1.事务是什么?            事务是应用程序中一系列严密的操作,所有的操作必须全部成功完成,否则每个操作中的所有更改都会被撤销.也就是事务具有原子性,一个事务中的一系列操作要么全部成功,要么 ...

  10. JVM配置参数解析

    1.参数说明(部分,待完善) -Xms128M:JVM初始分配的堆内存 -Xmx256M:JVM最大允许分配的堆内存,按需分配 -XX:PermSize=64M: JVM初始分配的非堆内存 -XX:M ...