`
starbhhc
  • 浏览: 663563 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL Server 对文件内容进行全文检索的查询

阅读更多
因为项目需要,需要对上传的文件内容进行查询。通过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     -- 索引服务里新建的编录名字

s.p.
索引服务的性能调整方法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#代码里进行拼接

s.p.
实不用将文件保存到数据库外面也能实现在数据库里实现全文搜索。具体方案是在SQL Server 2000里安全全文搜索功能,用image字段存储文件内容,并新增一个字段存放文件类型,然后在通过企业管理器新建全文索引项的时候将这两个字段匹配就可以。不过从数据库的/率以及今后数据库备份和恢复的效率上来看,将文件放在数据库的设计不是太好
分享到:
评论

相关推荐

    MS SQL Server对文件内容进行全文检索的查询

    针对文件内容的全文检索,本文介绍了一种利用Windows索引服务和MS SQL Server结合的解决方案,使得用户能够在上传的文件中进行高效、准确的全文搜索。 首先,文件存储策略是关键。为了确保文件的独特性和便于索引,...

    SQL Server全文检索对文本内容进行检索的三个方案

    ### SQL Server全文检索对文本内容进行检索的三个方案详解 #### 方案一:结合Windows索引服务进行全文检索 在Windows环境下,SQL Server利用Windows索引服务(Indexing Service)来实现对文件内容的全文检索功能,...

    手把手教你SQLserver2008全文检索使用方法

    ### 手把手教你SQL Server 2008全文检索使用方法 #### 一、全文检索概述 全文检索功能是SQL Server 2008提供的一个强大特性,它允许用户通过关键词搜索来查找文本数据。这一功能对于那些需要处理大量文本信息的...

    SQL_Server_2005全文检索技术

    SQL Server 2005将索引存储在文件系统中,每个表仅支持一个全文索引,通过关键字进行高效检索。 全文检索与传统的关系数据库查询、多维数据查询和XML查询有显著区别。关系数据库查询主要处理结构化数据,而全文检索...

    用SQL Server 2000进行全文检索.pdf

    在处理《用SQL Server 2000进行全文检索.pdf》这篇文献时,尽管提供的文档内容存在扫描识别错误,我们仍然能够从中提取关键知识点,并且对其进行整理和解释。首先,需要明确的是全文检索功能是数据库管理系统(DBMS...

    如何使用SQL全文检索

    在SQL Server 2000中,全文检索是一项重要的功能,它极大地改进了数据查询的效率和用户体验。 首先,我们要理解普通SQL索引与全文索引的区别。普通索引,如B树索引,主要用于快速定位数据行,基于精确的值进行比较...

    C#实现SQL Server中存取图片、文件

    本篇内容详细介绍如何使用C#语言在SQL Server数据库中存储和检索图片、文件。 #### 一、背景知识 1. **C#**:一种面向对象的编程语言,由微软开发,广泛用于Windows应用开发。 2. **SQL Server**:由微软提供的...

    SQL Server全文检索查询浅析

    **SQL Server全文检索查询浅析** SQL Server的全文检索功能是一种强大的搜索引擎,它允许用户使用自然语言查询数据库中的文本数据,而不仅仅是基于精确匹配的关键词。全文检索在处理大量文本数据,如文档、电子邮件...

    SQL Server 2005全文检索在数据查询中的应用.pdf

    SQL Server 2005的全文检索功能是一项强大的数据查询技术,尤其适用于处理大量的文本数据。全文检索允许用户以自然语言的形式搜索数据库,提供比传统的基于模式匹配(如LIKE谓词)更为高效和灵活的查询方式。它能够...

    sql server字段保存文件,blob操作

    这里我们主要关注如何使用SQL Server中的特定字段类型来存储文件,并结合Delphi进行操作。在SQL Server 2000及之前版本中,用于存储BLOB数据的字段类型是`image`,而在2005及以上版本中,这个角色由`varbinary(MAX)`...

    SQL Server 2005全文检索的实现.pdf

    本文通过简单示例,详细阐述了如何利用SQL Server 2005数据库创建全文目录、生成全文索引和进行全文查询,并在C#开发环境中实现了对Word文档信息的全文检索。这表明SQL Server 2005数据库为用户提供了强大的全文检索...

    全文检索实例(vs 2017项目+MS SQL Server 数据库 源码注释详尽)

    全文检索实例(vs 2017项目+MS SQL Server 数据库 源码注释详尽) 特点: 1、真正修改配置文件就可以投入正式使用。 2、本实例l采用ucene.net 3.0.3+盘古分词 ,内嵌汉字简拼模块、全拼模块、多音字全拼模块; 3、本...

    SQL Server全文检索简介(上).pdf

    全文检索是指在海量数据中,能够对数据的全文内容进行搜索的技术。SQL Server自7.0版本起,引入了全文检索功能,它允许用户对数据库中的文本数据进行高效的搜索。全文检索与传统基于LIKE关键字的查询方法相比,具有...

    SqlServer根据内容检索全表.txt

    SqlServer数据库创建存储过程,可根据输入test_txt'内容'检索全表信息,将全部字段包含‘内容’的数据库表名称,查询sql语句返回列表

    用SQL Server 2000进行全文检索 (1).pdf

    7. 需要指出的是,内容片段中存在OCR扫描错误和乱码,但在内容上下文中我们可以推测,文档可能还包含对配置全文检索时数据库目录和文件夹路径的提及,如MSSQL\DATA\SQLServer\config。 8. 尽管文档的年代较早,所...

    sqlserver查询分析器免安装版

    这款916KB的小型工具能够简化对SQL Server 2000、2005和2008数据库的访问,无需进行常规的安装过程,特别适合于临时使用或者在没有权限安装新软件的环境中。 在使用这款免安装的SQL Server查询分析器时,你需要了解...

    SQL Server 2005全文检索技术在网站上的应用实录.rar

    SQL Server 2005全文检索技术是数据库管理系统中..."SQLServer2005_QWJS"这个文件很可能是关于SQL Server 2005全文检索技术的具体教程或实践案例,深入学习和实践这些内容,对于提升数据库管理和网站搜索能力大有裨益。

    基于SQL SERVER 2005的图像检索

    在图像检索项目中,SQL Server 2005被用作图像数据的仓库,可以存储大量的图像文件,并通过高效的查询机制快速检索出所需图像。在设置数据库时,需要创建合适的表结构来存储图像数据,可能包括图像的元信息(如创建...

    sql server 数据库文件——图书订购

    附加成功后,你就能在SQL Server中看到"图书订购"数据库,并进行查询、更新等操作。 4. **数据库设计**: 对于初学者来说,"图书订购"数据库提供了一个实践数据库设计的机会。你可以学习如何定义表(如Books、...

    sqlserver数据库精简版

    5. **索引**:SQL Server使用索引来加速数据检索,包括B树索引、聚集索引和非聚集索引等。 6. **复制技术**:SQL Server支持数据复制,可以将数据从一个服务器复制到多个服务器,用于分布式系统或灾难恢复。 7. **...

Global site tag (gtag.js) - Google Analytics