SQL Server 2000 全文检索技术

手把手教你用GEM-2多频电磁仪找地下管道(附真实数据图) 本文详细解析了使用GEM-2多频电磁仪精准定位地下管线的全流程,包括设备调试、频率选择、现场扫描技巧及数据解读。通过真实案例展示了如何应对复杂干扰环境,提升管线检测效率与准确性,特别适合市政工程和地下管线普查。 阅读详情
 
SQL Server 2000 全文检索技术

1 全文检索及其发展状况
随着海量信息的出现以及计算机存储技术的发展,文献数据库正由书目数据库向全文数据库转变。这一转变使得全文检索技术得到空前的发展。
常用的实现全文检索的方法主要有以下两种:
第一种方法是不对数据库建立索引而直接对文章进行匹配的方法。这种方法由于没有建立索引库,因此所占空间较少,但同时正是因为它没有索引库,所以在进行全文匹配时要花费大量的时间。
第二种方法则是一种为全文建立倒排索引库的方法。这种方法可以大大节省检索的时间。但同时,这种方法需要占用一定的存储空间来建立索引库。目前,国内外对全文检索的研究可以说是达到一个高潮。许多研究机构和商业组织都在进行这方面的研究。国际最具影响力的全文检索评估机构当属TREC(Text Retrieval Conference)。它是由美国技术和标准研究所(NIST)和美国高级研究计划局(DARPA)共同举办、自1992年以来每年一次的全文检索评估会议,会议参加者带来研究的检索系统以供专家进行评估。传统的信息单位,图书馆等也开始建立全文数据库,引进各种全文检索技术。一些软件公司,也纷纷推出全文检索软件。国内比较有代表性的如TRS等,而国外比较著名的有下文将要介绍的Microsoft公司开发的SQL Server 2000。

2 在SQL Server 2000中配置全文检索服务
SQL Server是Microsoft公司在原来和Sybase公司合作的基础上推出的一款面向高端的数据库系统。而SQL Server 2000版本则是最新的、大型联机事务处理的新型数据库平台。它继承了SQL Server以前版本的一些强大的优势,如简单易用、具有良好的稳定性和高效性等等。同时,它的功能比以前的版本更加强大,界面更加友好。总之,无论是在功能、安全性、可维护性,还是在易操作性上都较以前版本有了长足的进步。它的全文检索功能配置简单,使用十分方便。我在建立关于信息检索的英文论文题名、文摘数据库的过程中,使用了SQLServer 2000。由于文摘文本单词量平均在500个左右,而且论文记录数量较多,如果不为文摘建立全文索引库,将严重影响检索效率。因此,我使用SQL Server2000的全文检索功能为这个数据库提供了全文检索服务。
2.1 建立全文检索服务的过程如下:
第一步,在SQL Server中建立一个全文数据库English—Data。在该数据库中建立一个表Papers。该表的字段有pa—per__id(代表论文的顺序,数据类型为int,长度为4,要求非空,并为标知,标知种子为1,自动增量为1)、paperAitle(代表论文的题目,数据类型为vchar,长度为200,要求非空)、pa—per_abstract(代表论文的文摘,数据类型为vchar,长度为8000,要求非空)。
第二步,为建立全文索引,一定要为该表建立唯一索引(Unique Index)。我为Papers表的paper_id字段建立唯一索引。
第三步,将数据逐步导入到表Papers中。
第四步,打开SQL Server的企业管理器,在左侧的树视中点击数据库。然后点开数据库EnglishData.。选择“全文目录”。点击右键,选择“新建全文目录”,建立全文目录Paper-AbstractFullSearch,然后建立名称为AbstraetSearch的调度。其他接受默认。
第五步,选择企业管理器的右侧的表Papers,单击右键,选中“全文索引表”,单击“在表上建立全文索引”。将会出现“全文索引向导”窗口。点击“下一步”会到达“选择索引”窗口。由于本表只有一个唯一索引paper_id,点击“下一步”,会出现“选择表中的列”窗口。选择“paper_abstract”字段,然后点击“下一步”,出现“选择目录”窗口,接受默认配置,点击“下一步”,出现的窗口“选择或创建填充调度(可选)”窗口,接受默认配置再点击下一步。出现“正在完成SQL Server全文索引向导”,点击“完成”。完成配置。
第六步,选择表Papers,点击右键,选择“全文索引表”,点击“启动完全填充”,等待完成。
第七步,配置数据源名。在ODBC管理器中的“系统DSN”中,单击“添加”,选择“SQL Server”。在数据源名中输入“EnglishData”, 然后进行客户配置。


第八步,如果以后对表Papers进行任何的修改(包括添加、删除记录和对原记录进行编辑),都要重复第六步的操作。这一步是为了保证全文索引库能够与表Papers的修改同步。
以上是建立全文索引的全过程。完成建立后,即可以使用标准的T—SQL语句对其进行全文检索。
2.2 在web平台上进行全文检索
虽然使用T—sQL语句可以很方便地进行全文检索,但笔者考虑到不是所有的用户都掌握了T—sQL语句,因此为方便用户检索,笔者建立了一个基于Web界面的全文检索平台。用户只需将检索词提交给Web服务器,服务器使用ASP调用ADO控件来对SQL Server2000数据库进行查询,并将检索结果以Web页面的方式返回给用户。
ASP(Active Server Pages)是微软公司建立的一套服务器端脚本环境。设计人员可以结合HTML、ASP指令和ActiveX控件建立动态、交互且高效的Web服务器应用程序。由于所有的程序都嵌入HTML中且在服务器端执行,因此不必担心客户端的浏览器能否运行程序。同时,它还具有简单、易开发、兼容性好等优点。ADO(ActiveX Data Object,ActiveX数据对象)是一个ASP内置的ActiveX服务器组件(ActiveX Server Component),用于数据库访问,可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作。ADO对象可以操作所有ODBC驱动程序存取的数据源格式。同时,ADO还具有简单易用、速度快等优点。
SQL Server 2000的全文检索服务可以支持布尔检索和加权检索等高级检索。用ASP可以实现这些检索功能。
3 全文检索语句CONTAINS和FREETEXT的使用
全文检索使用户可以高效检索存储在数据库的char、varchar、text、ntext、nchar、nvarchar等数据类型列中的文本数据。在进行全文检索之前,应建立和填充数据库全文索引。
3.1 全文索引
为了支持全文索引操作,SQL Server 7.0新增了一些新的存储过程和Transact-SQL语句。使用这些存储过程创建全文索引的具体步骤如下(括号内为每步所调用的存储过程名称):
(1)启动数据库的全文处理功能(sp_fulltexLdatabase);
(2)建立全文目录(sp_fulhexLcatalog);
(3)在全文目录中注册需要全文索引的表(sp_fulltext table);
(4)指出表中需要全文检索的列名(sp_full—texLeolumn);
(5)为表创建全文索引(sp_fulltexLtable);
(6)填充全文目录(sp_fulltext_catalog)。
下面举例说明:
在本例中,对test数据库book表中title列和notes列建立全文索引。
//首先先启动SQL Server的全文搜索服务。
use test //打开数据库
go
//打开全文索引支持
execute sp_fulltext_database ‘enable’
//建立全文目录ft_pubs
execute sp_fulltext_catalog ‘ft_test’,‘create’
//为titles表建立全文索引数据元,pk_title为book表中由主键所建立的唯一索引,此参数必须。
execute sp_fulltext_table ‘book’,‘create’,‘ft_test’,‘pk_title’
//设置全文索引列名
execute sp_fulltext_eolumn ‘book’,‘title’,‘ add’
execute sp_fulltext_ column ‘book’,‘notes’,‘add’
//建立全文索引
execute sp_fulltexLtable ‘book’,‘activate’
//填充全文索引目录
execute sp_fulltext_ catalog ‘ft_test’,‘start_ full’
go
至此,全文索引建立完毕。
3.2 全文检索
SQL Server 2000提供的全文检索语句主要有CONTAINS和FREETEXT。CONTAINS语句的功能是在表所有列或指定列中搜索:
●一个字或短语;
●一个字或短语的前缀;
●与一个字相近的另一个字;
●一个字的派生字;
●一个重复出现的字。
CONTAINS语句的语法格式为:
CONTAINS({column *}),‘’) 其中,column说明被搜索列,使用时说明对表中所有全文索引列莲行搜索
Contains_ search_ condition说明CONTAINS语句的搜索内容,其语法格式为:
{||| |) [{|ANDIAND NOT|OR}}] [.n]
下面就simple_term和predix_term参数做一简要说明:
simple— term指出CONTAINS语句所搜索的单字或短语,当为一个短语时,必须使用双引号作为定界符。其格式为:
{word | “phrase”}
predix_term说明CONTAINS语句所搜索的字或短语前缀,其格式为:
{“word * ”| “phrase ”}
例如,下面语句检索b0ok表的title列和notes列中包含database或computer字符串的图书名称及其注释信息:
select title,notes from book
where contains(tilte,‘database’)or contains(notes,‘datable’)
or contains(title,‘computer’)or contains(notes,‘computer’)
FREETEXT语句的功能是在一个表的所有列或指定列中搜索一个自由文本格式的字符串,并返回与该字符串匹配的数据行。所以,FREETEXT语句所执行的功能又称做自由式全文查询。
FREETEXT语句的语法格式为:
FREETEXT({column * },‘freetext_string’)
其中,column说明被搜索列,使用*时说明对表中的所有全文索引列进行搜索。Freetext_string参数指出所搜索的自由文本格式字符串。
例如,下面语句使用FREETEXT语句搜索book表中包含Successful Life字符串的数据行:
select title,notes
from book
where freetext (*,‘Successful Life’)

4 结束语
通过学习和实践,我认为SQLServer2000的全文检索服务有以下优点:
第一,简单易用。由于SQLServer2000的全文检索服务已经集成到整个服务中,因此,全文检索可以使用“企业管理器”进行统一的图形界面的管理。而且,进行检索时可以使用标准的T—SQL语句,学习、使用十分方便。
第二,SQLServer2000功能强大。比如,其自身具有“噪音词”(noiseterm )过滤的机制。在“.MSSQL\TDATA\SQL Server\config”目录下,有一个“noise.dat”文件类似于停用词表,可以对一些没有检索意义的词如a、you等进行过滤而不建立索引。用户自己也可以对该词表进行增补,以过滤一些词。同时,我发现SQLServer2000的全文检索存在一些不足。如当用户对全文索引过的字段进行修改后,需要用户进行手工的“填充”,而不能机器自动完成这一步,另外该系统对计算机硬件要求较高等等。随着计算机硬件的发展以及SQL Server软件本身的不断完善,我相信这些不足是可以得到改善的。

简单概述人形机器人的“大脑、小脑” 原创 仲翔云人形机器人产业通2024年09月13日 19:41上海人形机器人的大脑和小脑是其控制系统的关键组成部分,它们模拟了人类大脑和小脑的功能,以实现复杂的运动控制和决策过程。 阅读详情

相关推荐

相控阵多功能雷达工作模式识别技术综述

本文综述了相控阵雷达工作模式识别技术的研究进展。首先介绍了相控阵雷达的典型工作模式分类及其信号特征参数,包括搜索模式(VS、RWS、TWS)、跟踪模式(STT、MTT、TAS)和其他模式(SAM、SAR)等。随后重点阐述了基于信号特征的识别方法,包括时域特征(PRI分析、脉冲幅度包络、数据率)、频域特征(载频变化、调制方式)和混合特征分析方法。最后讨论了当前技术面临的挑战与发展趋势,包括复杂信号环境下的识别难题、新型雷达技术的适应需求以及深度学习技术的应用前景。该领域的研究对电子侦察和威胁评估具有重要意义。

Grow into a more wonderful you 1713

SQL Server 2000 全文检索技术(1)

1 全文检索及其发展状况随着海量信息的出现以及计算机存储技术的发展,文献数据库正由书目数据库向全文数据库转变。这一转变使得全文检索技术得到空前的发展。常用的实现全文检索的方法主要有以下两种:第一种方法是不对数据库建立索引而直接对文章进行匹配的方法。这种方法由于没有建立索引库,因此所占空间较少,但同时正是因为它没有索引库,所以在进行全文匹配时要花费大量的时间。第二种方法则是一种为全文建立倒排索引库的

高山流水 830

【EDA Tools】Spyglass 检查 Verilog 和 SystemVerilog 混合语言及 Lint 检查

Spyglass可以用于检查混合设计中的语言互操作性和一致性问题。对于设计中包含多种硬件描述语言的情况,Spyglass 能够识别并解析其中的模块及其互连,并对其进行验证。例如,在包含 Verilog 和 VHDL 的混合设计中,Spyglass 会自动识别并解析 Verilog 和 VHDL 文件及其相互连接。通过运行 Spyglass Lint 功能,可以检查混合设计中的语言一致性问题,例如不兼容的数据类型、互操作性问题以及其他可能导致设计故障或不一致的问题。

记录学习历程 5049

使用SQL SERVER 2000全文检索功能

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 236

使用SQL SERVER 2000全文检索功能 [转]

使用SQL SERVER 2000全文检索功能   步骤:1、  打开NorthWind数据库,右键Products表,选择“全文索引表”,“在表上定义全文索引”,为其创建全文目录。在“全文索引向导”中,选择你需要全文查询条件的列(可以是文本或图像),我们选择Productname和QuantityPerUnit列。然后下一步,输入一个新的目录proCatalog,点击下一步。在填充调度一项里,

ldw701的专栏 1100

SQL 索引相关链接

1  使用SQL SERVER 2000全文检索功能 http://dev.csdn.net/develop/article/17/17137.shtm

phantomMan的专栏 974

SQL Server 2000 全文检索

全文检索

赢在执行 501

X3BLOG AJAX国产大型开源多用户博客系统 1.1.0.beta1 源码版

引:http://www.openforge.cn/opendotnet/application/200810/01-159.html 关于 X3-BLOGX3BLOG:国内效率最快的AJAX多用户博客系统国内搜索引擎最强大的多用户博客系统国内唯一支持所有浏览器的多用户博客系统国内唯一应用AJAX+XML+XSL三种技术于一体的博客系统    X3-BLOG 是基于XML+XSLT

幽灵 逐梦--专栏 1281

SQL SERVER 2000全文检索功能全接触

一、安装Sql Server 2000全文检索    如果安装Sql Server 2000时,按缺省的典型安装,是不会安装全文检索的。要么在安装时,选自定义安装,然后将全文检索选项选上;如果没有安装此功能,重新运行安装程序,在“安装选择”时,选“对现有Sql Server 实例进行升级、添加或删除组件”,在“选择组件”时,要选择服务器组件中的全文检索子组件,完成安装即可。     存储过程f

2553

使用SQL Server 2000 全文检索

今天在研究SQL Server2000全文检索功能。在网上找到的一些比较不错的资料: [SQLSERVER]SQL中的全文检索(转邹建)实例演示在SQL中启用全文检索使用SQL SERVER 2000全文检索功能SQL Server 2000 全文检索技术 以上的文章中对Search的相关语法及参数说的不够详细,下面是详细的说明: SQL Server 2000提供的全文检索语句...

weixin_33894640的博客 324

SQL SERVER 2000全文检索功能

使用SQL SERVER 2000全文检索功能 步骤: 1、 打开NorthWind数据库,右键Products表,选择“全文索引表”,“在表上定义全文索引”,为其创建全文目录。在“全文索引向导”中,选择你需要全文查询条件的列(可以是文本或图像),我们选择Productname和QuantityPerUnit列。然后下一步,输入一个新的目录proCatalog,点击下一步。在填充...

95

SQL Server2000全文检索

今天在研究SQL Server2000全文检索功能。在网上找到的一些比较不错的资料: [SQLSERVER]SQL中的全文检索(转邹建) 实例演示在SQL中启用全文检索 使用SQL SERVER 2000全文检索功能 SQL Server 2000 全文检索技术 以上的文章中对Search的相关语法及参数说的不够详细,下面是详细的说明: SQL Serv...

aasagk80068的博客 130

SQL Server 2000全文检索

SQL Server 2000全文检索一、如何在SQL中启用全文检索功能1、证全文检索服务是否安装通过储存过程FULLTEXTSERVICEPROPERTY(返回有关全文服务级别属性的信息)来验证搜索服务(全文组件)是否安装。如Select fulltextserviceproperty (‘IsFullTextInstalled’):返回1表示已安装全文组件;返回0表示未安装全文组件;返回N

linnet2000的专栏 862

怎么使用SQL Server 2000全文检索-数据库专栏,SQL Server

<br />一、怎么在sql中启用全文检索功能<br />1、证全文检索服务是否安装<br />通过储存过程fulltextserviceproperty(返回有关全文服务级别属性的信息)来验证搜索服务(全文组件)是否安装。如select fulltextserviceproperty (‘isfulltextinstalled’):返回1表示已安装全文组件;返回0表示未安装全文组件;返回null表示输入无效或发生错误。<br />2、启动全文检索服务(mircosoft search)<br />3、打开

技术交流 1432

统一全文检索SQL 分析:Apache Doris 日志分析实践

和。以一次线上故障为例,工程师首先需要在日志中搜索、异常码或调用栈,快速定位相关日志;随后,还需要统计错误率、受影响请求数量、P99 延迟等指标,评估故障影响范围。这两类工作看似属于同一个分析流程,但长期以来通常由不同系统完成:Elasticsearch 等搜索引擎负责全文检索,等 OLAP 数据库负责聚合分析,这种架构能够发挥两类系统各自的优势,但随着日志规模增长和实时分析需求提升,也带来了一些额外的工程复杂性,例如数据需要维护两套链路、查询需要跨系统协同,以及搜索结果与分析结果可能存在同步延迟。

SelectDB 245

ISO 12944-5-2019 色漆和清漆防护涂料体系对钢结构的腐蚀防护第5部分:防护涂料体系.pdf

ISO 12944-5-2019 色漆和清漆防护涂料体系对钢结构的腐蚀防护第5部分:防护涂料体系.pdf

GaussDB_T_1.0.2-EULER20SP8-ARM.tar.gz

GaussDB_T_1.0.2-EULER20SP8-ARM是集群版包含单机版的安装包,在华为的欧拉系统上安装所需要的包

上一篇: Lucene:基于Java的全文检索引擎简介
下一篇: 用Lucene索引数据库
feijianxia
博客等级 码龄22年 62粉丝 14原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值