使用SQL Server 2000 全文检索

摘要:
今天在研究SQLServer2000的全文检索功能。在网上找到的一些比较不错的资料:[SQLSERVER]SQL中的全文检索(转邹建)实例演示在SQL中启用全文检索使用SQLSERVER2000的全文检索功能SQLServer2000全文检索技术以上的文章中对Search的相关语法及参数说的不够详细,下面是详细的说明:SQLServer2000提供的全文检索语句主要有CONTAINS和FREETEXT。CONTAINS语句的语法格式为:CONTAINS,)其中,column是搜索列,使用“*”时说明对表中所有全文索引列进行搜索。Freetext_string参数指出所搜索的自由文本格式字符串。

今天在研究SQL Server2000的全文检索功能。在网上找到的一些比较不错的资料:

[SQLSERVER]SQL中的全文检索(转邹建)
实例演示在SQL中启用全文检索
使用SQL SERVER 2000的全文检索功能
SQL Server 2000 全文检索技术

以上的文章中对Search的相关语法及参数说的不够详细,下面是详细的说明:

SQL Server 2000提供的全文检索语句主要有CONTAINS和FREETEXT。

CONTAINS:
CONTAINS语句的功能是在表的所有列或指定列中搜索:一个字或短语;一个字或短语的前缀;与一个字相近的另一个字;一个字的派生字;一个重复出现的字。

CONTAINS语句的语法格式为:

CONTAINS({column | *}), <contains_search_condition>)

其中,column是搜索列,使用“*”时说明对表中所有全文索引列进行搜索。
Contains_search_condition 说明CONTAINS语句的搜索内容,其语法格式为:

{<simple_term>|<prefix_term>|<proximity_term>|<generation_term>|<weighted_term>}[{{AND|AND NOT|OR}<contains_search_condition>}] [...n]

下面就simple_term和prefix_term参数做简要说明:

simple_term是CONTAINS语句所搜索的单字或短语,当搜索的是一个短语时,必须使用双引号作为定界符。其格式为:

{'word'|" phrase"}

prefix_term说明CONTAINS语句所搜索的字或短语前缀,其格式为:

{"word*" | "phrase*"}

例如,下面语句检索Book表的Title列和Notes列中包含“database”或“computer”字符串的图书名称及其注释信息:

使用SQL Server 2000 全文检索第1张selecttitle,notes
使用SQL Server 2000 全文检索第1张
frombook
使用SQL Server 2000 全文检索第1张
wherecontains(tilte,'database')orcontains(notes,'database')
使用SQL Server 2000 全文检索第1张
orcontains(title,'computer')orcontains(notes,'computer')

FREETEXT

FREETEXT语句的功能是在一个表的所有列或指定列中搜索一个自由文本格式的字符串,并返回与该字符串匹配的数据行。所以,FREETEXT语句所执行的功能又称做自由式全文查询。

FREETEXT语句的语法格式为:FREETEXT({column | * },'freetext_string')

其中,column是被搜索列,使用“*”时说明对表中的所有全文索引列进行搜索。Freetext_string参数指出所搜索的自由文本格式字符串。

例如,下面语句使用FREETEXT语句搜索Book表中包含“工艺”和“机械”字符串的数据行,注意,SQL语名把字符串分成两个词搜索了:

使用SQL Server 2000 全文检索第1张select*
使用SQL Server 2000 全文检索第1张
fromtrade
使用SQL Server 2000 全文检索第1张
wherefreetext(*'工艺 机械')
使用SQL Server 2000 全文检索第1张

全文搜索SQL Server提供的Search服务外,还有Microsoft Indexing Services 和 第三方的搜索组件。
关于Index Service下面的文章值得一看:
使用Microsoft Indexing Services开发网站全文检索配置说明

免责声明:文章转载自《使用SQL Server 2000 全文检索》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇20169205 2016-2017-2 《网络攻防技术》第7周学习总结Entity Framework 学习第一天下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

聊聊MySQL、HBase、ES的特点和区别(转载http://www.360doc.com/content/17/0703/08/44827304_668358202.shtml)

互联网时代各种存储框架层出不穷,眼花缭乱,比如传统的关系型数据库:Oracle、MySQL;新兴的NoSQL:HBase、Cassandra、Redis;全文检索框架:ES、Solr等。如何为自己的业务选取合适的存储方案,相信大家都思考过这个问题,本文简单聊聊我对MySQL、HBase、ES的理解,希望能和大家一起探讨进步,有不对的地方还请指出。 MySQ...

PostgreSQL全文检索zhparser使用

本文引用自: http://blog.chinaunix.net/uid-20726500-id-4820580.html 防止文章丢失才进行复制 PostgreSQL支持全文检索,其内置的缺省的分词解析器采用空格分词。因为中文的词语之间没有空格分割,所以这种方法并不适用于中文。要支持中文的全文检索需要额外的中文分词插件。网上查了下,可以给PG用的开源中文...

Lucene中对document(记录)的CURD操作~为分布式全文检索设计

Lucene.net是.net环境中比较强的全文检索工具,它是从JAVA中转过来的,.net版本的lucene在功能上也豪不逊色于java版的lucene。今天主要来说一下lucene索引文件在更新时的一些方式。 一 整个索引文件 (cfs文件)覆盖更新;优点:简单,缺点:与服务器没有交互,但在生成索引文件时对IO影响比较大,前台lucene信息显示与数据...

Sphinx速成指南

目录 1. Sphinx简介 1.1. 什么是全文检索 1.2. 介绍 1.3. Sphinx的特性 2. Sphinx安装(For MySQL) 2.1. Windows下安装 2.2. Linux下安装 3. 实例说明 4. Sphinx配置 5. 运行Sphinx 6. 搜索(翻译) 6.1. 匹配模式 6.2. 布尔查询语法(Boolean que...

springboot ElasticSearch 简单的全文检索高亮

原文:https://segmentfault.com/a/1190000017324038?utm_source=tag-newest 首先引入依赖 <dependency> <groupId>org.springframework.boot</groupId> &l...

SQLSERVER 建立全文检索

--创建测试表 --DROPTABLEFullTextIndexing CREATETABLEFullTextIndexing ( IDINTIDENTITY(1,1)NOTNULL, SentenceVARCHAR(MAX) ) --创建聚集索引 ALTERTABLEFullTextIndexingADDCONSTRAINTPK_Full...