通过SQL Server实现对上传文件的全文检索[MSSQL防范]
本文“通过SQL Server实现对上传文件的全文检索[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
由于工作需求,需求对上传的文件内容举行查询.通过MSDN理解到Windows索引服务可以实现对文件的全文检索,并可以通过sql server举行查询.本文将二者结合后实现对上传文件的全文检索.
筹划描写:
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编录.
MS SQL对索引服务器的调用
1.通过sql语句查询衔接服务器的内容
SELECT Q.*
FROM OpenQuery(dcs, --衔接服务器名字
'SELECT FileName, Size, DocAuthor, path --在衔接服务器里的sql语句
FROM SCOPE()
WHERE CONTAINS(''番号 and abc'') '
) AS Q
2.因为SQL语句不支持动态输入的字符串,因此查询字符串只好在C#代码里来举行拼接
别的办理办法:
在SQL Server 2000数据库里按全文搜索功效,用image字段存储文件内容,并新增一个字段存放文件范例,然后在通过企业管理器新建全文索引项的时刻将这两个字段匹配便可以.不过从数据库的/率以及此后数据库备份和恢复的效率上来看,将文件放在数据库的计划略显不足.
以上是“通过SQL Server实现对上传文件的全文检索[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |