iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >SQL Server的全文搜索功能
  • 911
分享到

SQL Server的全文搜索功能

2024-04-02 19:04:59 911人浏览 泡泡鱼
摘要

目录一、使用SQL Server全文搜索配置1、开启全文搜索服务:2、开启数据库的全文索引功能:3、创建全文索引目录:4、创建唯一索引:5、创建全文索引:二、使用全文搜索CONTai

一、使用sql Server全文搜索配置

要使用SQL Server的全文搜索服务,需要进行如下配置。

1、开启全文搜索服务:

2、开启数据库的全文索引功能:

--开启数据库的全文搜索功能
EXEC sp_fulltext_database 'enable';

3、创建全文索引目录:

--创建全文索引目录
CREATE FULLTEXT CATALOG IndexCatalog
     ON FILEGROUP [PRIMARY]
     IN PATH 'E:\SQLServerIndex'
     AS DEFAULT

4、创建唯一索引:

--创建唯一索引
CREATE UNIQUE NONCLUSTERED INDEX IndexContent ON Article(ArticleContent ASC)

5、创建全文索引:

--创建全文索引
CREATE FULLTEXT INDEX ON Article
  (ArticleContent)
  KEY INDEX IndexContent ON IndexCatalog    --IndexContent是唯一索引名

二、使用全文搜索

CONTAINS搜索方式

1.简单词搜索

- 搜索一个或多个特定的词或短语。词可以包括一个或多个字符,中间没有空格或标点。短语可以由空格分隔的多个词组成,但词之间可以有标点也可以没标点:

--搜索文章内容含有张三或者李四的记录
  SELECT * FROM Article WHERE CONTAINS(ArticleContent,'"张三" OR "李四"')

2.前缀词搜索的方式

- 搜索指定文本开头的词或短语,前缀词的搜索方式主要是用在搜索英文中,例如搜索以“do”开头的单词,则可以将doctor、document、download等单词都搜索出来。

--搜索文章内容中含有以'认'开始的词的记录
  SELECT * FROM Article WHERE CONTAINS(ArticleContent,'"认*"')    --认为,认识

3.加权词搜索的方式

- 给多个搜索条件加上权值,加权值越高的记录排在越前面,当以多个字符串作为搜索条件搜索记录时,可以为不同的字符串加上一个加权值,这个加权值是介于0和1之间的数值,加权值越高的记录排在越前面。事实上在该SELECT语句的返回结果集里,并没有按加权值的大小来排序,因为WEIGHT不影响CONTAINS查询的结果,只会影响CONTAINSTABLE查询中的排序:

--在CONTAINS搜索中,权重并不影响排序
  SELECT * FROM Article
  WHERE CONTAINS(ArticleContent,'ISABOUT ("北京" weight(0.9),"上海"  weight(0.6),"广州"  weight(0.5))')

4.邻近词搜索的方式

- 可以搜索与另一个词或短语相邻近的词或短语:

--搜索文章内容中第二个词在第一个词附近的记录
  SELECT * FROM Article WHERE CONTAINS(ArticleContent,'"张三" NEAR "李四"')

FREETEXT搜索方式

FREETEXT搜索方式与CONTAINS搜索方式相比,其搜索结果表现都十分不精确,因为FREETEXT的搜索方式是将一个句子中的每个单字拆分开进行搜索的。使用CONTAINS搜索方式搜索条件为“教育部”的记录,那么搜索出来的将是记录里包含“教育部”三个字符串的记录。

--搜索文章内容中包含'程'字和'社'字的记录
  SELECT * FROM Article WHERE FREETEXT(ArticleContent,'程社')

CONTAINSTABLE搜索方式

1、CONTAINSTABLE基本搜索:

--CONTAINSTABLE搜索文章内容中含有友谊的记录
  SELECT * FROM CONTAINSTABLE(Article,ArticleContent,'友谊') as table1

留意到返回中指包含了两个字段:

其实就是CONTAINSTABLE表中的数据。

2、CONTAINSTABLE返回所需列:

--CONTAINSTABLE搜索返回所需列
  SELECT * FROM Article JOIN
    CONTAINSTABLE(Article,ArticleContent,'"环境"',2) as table1
    ON Article.ArticleContent = table1.[KEY]
  ORDER BY table1.RANK DESC

3、CONSTAINSTABLE按符合条件排序

--按符合条件排序
  SELECT * FROM Article JOIN
      CONTAINSTABLE(Article,ArticleContent,' "泰国" NEAR "高铁" ',10) as table1
      ON Article.ArticleContent = table1.[KEY]
   ORDER BY table1.RANK DESC

看到查询结果的确按符合条件进行了排序:

4、CONSTAINSTABLE按按权值排序

--权重值排序
  SELECT * FROM Article JOIN
  CONTAINSTABLE(Article,ArticleContent,
  'ISABOUT ("泰国" weight(0.9),
  "高铁"  weight(0.6),
  "环境"  weight(0.1))') AS TABLE1
  ON Article.ArticleContent = TABLE1.[KEY]
  ORDER BY TABLE1.RANK DESC

结果按照权重值排序:

使用FREETEXTTABLE搜索

单个字搜索,但是多了参数可供使用:语法如下:

FREETEXTTABLE (table , { column_name | (column_list) | * }
  , 'freetext_string'
  [ ,LANGUAGE language_term ]
  [ ,top_n_by_rank ] )

示例:

搜索image字段

在SQL Server 2005的image类型的字段里,不仅仅是可以存储图形文件,还可以存储如可执行文件、音乐文件、文本文件等众多文件类型。SQL Server 2005支持对存储在image类型的字段里的一些文件的内容进行全文搜索,但在创建全文索引时必须指明存储在image字段里的文件的类型。

SQL Server 2005支持对存储在image中的纯文本文件、网页文件、Word文件、excel文件和PowerPoint文件的内容进行查询,其扩展名字段必须分别为txt、htm、doc、xls和ppt。全文索引创建完毕后,对image字段里的文件内容进行查询的方法与其他字段的查询方法是一样的:

SELECT 编号,标题,文件,扩展名 FROM 文章 WHERE CONTAINS(文件,'数据库')

三、小结与评价

下面给出这个SQL Server全文搜索的常用SQL语句:

--开启数据库的全文搜索功能:
EXEC sp_fulltext_database 'enable'; --数据库启用全文索引
--关闭数据库的全文搜索功能:
EXEC sp_fulltext_database 'disable'; --数据库禁用全文索引


--如果你忘记了全文索引的目录、表、列创建过全文索引
EXEC sp_help_fulltext_catalogs    --全文索引目录
EXEC sp_help_fulltext_columns    --全文索引列
EXEC sp_help_fulltext_tables    --全文索引表

到此这篇关于SQL Server全文搜索的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: SQL Server的全文搜索功能

本文链接: https://www.lsjlt.com/news/149353.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL Server 的全文搜索功能
    这篇文章将为大家详细讲解有关SQL Server 的全文搜索功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQL Server 的全文搜索(Full-Text Sea...
    99+
    2022-10-18
  • SQL Server的全文搜索功能
    目录一、使用SQL Server全文搜索配置1、开启全文搜索服务:2、开启数据库的全文索引功能:3、创建全文索引目录:4、创建唯一索引:5、创建全文索引:二、使用全文搜索CONTAI...
    99+
    2022-11-13
  • SQL Server的全文搜索功能怎么用
    本文小编为大家详细介绍“SQL Server的全文搜索功能怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“SQL Server的全文搜索功能怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-30
  • SQL Server全文搜索功能的示例分析
    这篇文章主要为大家展示了“SQL Server全文搜索功能的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL Server全文搜索功能的示例分析”这...
    99+
    2022-10-18
  • SQL Server 全文搜索/全文索引
    全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询。全文索引将有关重要的词及其位置的信息存储在数据库表的一列或多列中。全文索引是一种特殊类型的基于标记的功能性索引,它是由 SQL Server 全文引...
    99+
    2014-12-30
    SQL Server 全文搜索/全文索引
  • SQL Server中怎么实现全文搜索功能
    这期内容当中小编将会给大家带来有关SQL Server中怎么实现全文搜索功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一,创建全文目录和唯一索引创建全文索引之前,必须...
    99+
    2022-10-18
  • SQL Server实现全文搜索查询详解
    目录一、概述二、全文搜索查询三、将全文搜索查询与 LIKE 谓词进行比较四、全文搜索体系结构4.1、SQL Server 进程4.2、过滤器守护程序主机进程五、全文搜索处理5.1、全文索引过程5.2、全文查询流程六、全文...
    99+
    2023-04-03
    SQL Server全文搜索 SQL全文搜索查询
  • SQL Server如何实现全文搜索查询
    本篇内容介绍了“SQL Server如何实现全文搜索查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、概述全文索引在表中包括一...
    99+
    2023-07-05
  • SQL Server实现全文搜索查询详解
    目录一、概述二、全文搜索查询三、将全文搜索查询与 LIKE 谓词进行比较四、全文搜索体系结构4.1、SQL Server 进程4.2、过滤器守护程序主机进程五、全文搜索处理5.1、全...
    99+
    2023-05-14
    SQL Server全文搜索 SQL全文搜索查询
  • Mongodb实战之全文搜索功能
    前言 众所周知在传统的关系型数据库中,我们通常将数据结构化,通过一系列表关联、聚合来查询我们所需的结果。而在非结构化的数据中,缺少这种预定义的结构,因而如何快速查询定位到我们所需要的结果,不是一件容易的事。...
    99+
    2022-10-18
  • Django添加全文搜索功能入门篇
    感觉网络上关于Django全文搜索的中文文章太少,并且讲的也不是很到位,就是简单介绍了怎么配置,并没有说这样配置有什么用,所以依然很迷茫。所以希望我这篇文章能够帮助到后来人。 转载说明来源 http://tenlee2012.githu...
    99+
    2023-01-31
    搜索功能 入门篇 全文
  • Sphinx PHP 实现全文搜索的搜索历史记录与推荐功能
    引言:随着互联网的快速发展,全文搜索已经成为了许多网站和应用程序中必不可少的功能。Sphinx是一个功能强大的开源全文搜索引擎,它可以快速地搜索和检索大量的文本数据。本文将介绍如何使用Sphinx PHP来实现全文搜索的搜索历史记录与推荐功...
    99+
    2023-10-21
    PHP (编程语言) Sphinx (用于全文搜索)
  • Win8的全局搜索功能的使用图文教程
      搜索是我们在使用操作系统时怎么都绕不开的一环,而在Win8中搜索也变得格外强大,原因就是Win8中的搜索已经升级到了“全局搜索”。今天我们就将介绍如何使用Win8的搜索功能。  ...
    99+
    2022-06-04
    全局 搜索功能 图文
  • SQL Server中怎么查询全文检索
    本篇文章给大家分享的是有关SQL Server中怎么查询全文检索,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. 改变文件存储时的文件名  ...
    99+
    2022-10-18
  • Win7的搜索功能在哪 Win7下如何搜索文件
    Win7搜索在哪 Win7搜索文件在哪? 要找到Win7搜索功能其实有多种方法,如快捷 找到Win7从Win7桌面,点击进入“计算机”,然后我们在计算机右上角即可找到有Win7搜索功能,如下图: ...
    99+
    2023-05-31
    Win7 搜索功能 文件 功能 搜索
  • 如何使用MongoDB实现数据的全文搜索功能
    如何使用MongoDB实现数据的全文搜索功能导语:随着信息化时代的迅猛发展,全文搜索功能成为了许多应用程序的必备功能。作为一个流行的NoSQL数据库,MongoDB也提供了强大的全文搜索能力。本文将介绍如何使用MongoDB实现数据的全文搜...
    99+
    2023-10-22
    MongoDB 全文搜索 数据实现
  • 如何使用MySQL的全文检索功能实现高效率的文本搜索?
    如何使用MySQL的全文检索功能实现高效率的文本搜索?作者:AI助手摘要:本文介绍了如何使用MySQL的全文检索功能,在数据库中实现高效率的文本搜索。首先,我们会讲解MySQL全文索引的基本原理和使用方法。然后,我们会探讨如何优化全文检索的...
    99+
    2023-10-22
    MySQL 全文检索 文本搜索
  • MySQL基础教程10 —— 函数之全文搜索功能
    语法:  MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY EXPANSION]) MySQL支持全文索引和搜索功能。MySQL中...
    99+
    2022-05-31
    MySQL 全文搜索
  • 强大的Win7开始搜索功能搜索电脑文件随搜随到
    场景:很多朋友想找电脑里的程序或者文件时,都是先打开Windows 7的计算机,或者在某个磁盘(如D盘)里才打开搜索页面。这样操很多用户对Windows 7的“开始”菜单还是有点陌生,我的朋友中有...
    99+
    2023-06-05
    Win7 开始 搜索 电脑 功能 文件
  • SQL Server中怎么实现全文索引服务
    SQL Server中怎么实现全文索引服务,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SQL7的全文检索和IndexServer的检索方式非...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作