SQL Server全文检索查询浅析

所属分类: 数据库 / MsSql 阅读数: 1948
收藏 0 赞 0 分享
方案概要:
  1. 改变文件存储时的文件名
  2. 配置索引服务器,并将索引服务器与MS SQL Server关联。
  3. 修改SQL语句,将进行全文查询语句的内容加入查询条件中
  文件的存储方式:
  为了方便存储以及方便索引,我们将上传的文件存储到一个目录里面,为了保证上传的文件名不重复,采用GUID作为文件名,并且通过这个GUID于数据库记录相关联。同时,文件的后缀还保持原始文件的后缀,让索引服务能够识别该文档。
  配置索引服务
  进入计算机管理(Computer Management)程序(右键”我的电脑”->”管理”),并找到索引服务(Index Service)
  配置索引服务的功能
  (1)右键选择索引服务弹出一个菜单
  (2)选择New->Catalog(新建一个编录)
  设置新增加的编录
  (1)输入编录的名字(这个名字需要与数据库进行关联,要注意命名,这里假设DCSII
  (2)点Browse进入选择索引服务运行目录窗体
  (3)选择前面创建的索引运行目录(任意地方)
  (4)点确定完成本次操作
  在编录创建号以后,需要给编录增加目录
  (1)右键选择刚刚创建的编录
  (2)选择New->Directory(新建目录)
  新建索引目录
  (1)点击Browse进入目录选择页面
  (2)选择要进行全文检索文件的目录
  (3)确定完成本次操作
  完成创建后启动索引服务
  (1)启动索引服务
  (2)索引服务启动成功后索引编录的信息,可以看到编录信息就表示服务已经启动成功。
  将索引服务和SQL数据库关联:
  在SQL 查询分析器(SQL Query Analyer)里执行下面的存储过程
  EXEC sp_addlinkedserver Dcs, -- 连接服务器的名字,到后面查询的时候要用到
  'Index Server',
  'MSIDXS',
  'DCSII' -- 索引服务里新建的编录名字
  索引服务的性能调整方法1
  (1)右键选择索引服务
  (2)选择 All Tasks-> Tune Perrformance
  (3)选择用户自定义
  (4)点击Customize进入性能调整窗体
  (5)将Index和Querying的属性移动到最右边
  (6)点确定完成操作
  性能调整方法2
  如果服务器不需要对整个系统的文件进行索引,可以停止或者删除System编录。
  MSSQL对索引服务器的调用
  1. 通过sql语句查询连接服务器的内容
  SELECT Q.*
  FROM OpenQuery(dcs, --连接服务器名字
  'SELECT FileName, Size, DocAuthor, path --在连接服务器里的sql语句
  FROM SCOPE()
  WHERE CONTAINS(''番号 and abc'') '
  ) AS Q
  2. 因为SQL语句不支持动态输入的字符串,因此查询字符串只好在C#代码里进行拼接
  s.p.
  实不用将文件保存到数据库外面也能实现在数据库里实现全文搜索。具体方案是在SQL Server 2000里安全全文搜索功能,用image字段存储文件内容,并新增一个字段存放文件类型,然后在通过企业管理器新建全文索引项的时候将这两个字段匹配就可以。不过从数据库的/率以及今后数据库备份和恢复的效率上来看,将文件放在数据库的设计不是太好。
更多精彩内容其他人还在看

sql 分组查询问题

sql 分组查询问题,需要的朋友可以参考下。
收藏 0 赞 0 分享

MSSQL 数据库备份和还原的几种方法 图文教程

MSSQL 数据库备份和还原的几种方法小结,配有图文,大家看了就知道了。
收藏 0 赞 0 分享

GridView自定义分页的四种存储过程

首先要说说为什么不用GridView的默认的分页功能,GridView控件并非真正知道如何获得一个新页面,它只是请求绑定的数据源控件返回适合规定页面的行,分页最终是由数据源控件完成。
收藏 0 赞 0 分享

Godaddy 导入导出MSSQL数据库的实现步骤

可以从限制文件中导入SQL共享服务器数据库。如果想把存放在其他地方的数据导入,需要先把其内容拷到限制文件中。(
收藏 0 赞 0 分享

得到自增列的下一个会插入的id

怎么得到自增列的下一个会插入的id
收藏 0 赞 0 分享

几个简单的基本的sql语句

这个是从网上看到的。。。COPY一下。。有时候忘记了。。
收藏 0 赞 0 分享

sqlserver 自动备份所有数据库的SQL

可自动备份除系统数据库外的所有数据库。备份文件的周期保存周期可以更改。
收藏 0 赞 0 分享

SQL Server 服务器优化技巧浅谈

数据文件和日志文件的操作会产生大量的I/O。在可能的条件下,日志文件应该存放在一个与数据和索引所在的数据文件不同的硬盘上以分散I/O,同时还有利于数据库的灾难恢复。
收藏 0 赞 0 分享

sql2005 存储过程分页示例代码

sql2005分页存储过程示例
收藏 0 赞 0 分享

union组合结果集时的order问题

如果能确定各查询结果不会有重复的项,最好就带上all,因为这样还是可以提高一些效率的。
收藏 0 赞 0 分享
查看更多