当前位置: 永利皇宫463手机版 > 数据库 > 正文

sql全文索引成立与查询实例

时间:2019-12-23 09:02来源: 数据库
本作品来告诉你怎么创制全文索引以致建构后的全文索引的询问操作,有亟待通晓能够看看。 创设全文索引 在扩充全文字笔迹核算索早前,必需先创造和填充数据库全文索引。为了扶

本作品来告诉你怎么创制全文索引以致建构后的全文索引的询问操作,有亟待通晓能够看看。

创设全文索引

在扩充全文字笔迹核算索早前,必需先创造和填充数据库全文索引。为了扶持全文索引操作,SQL Server 7.0新增添了有个别仓库储存进程和Transact-SQL语句。使用那个囤积进程创制全文索引的具体步骤如下:

  1. 起步数据库的全文处理效果(sp_fulltext_

database);;

  1. 创建全文字笔迹查验索目录(sp_fulltext_catalog);

3.在全文检索目录中登记供给全文索引的表(sp_fulltext_table);

  1. 建议表中需求全文字笔迹查证索的列名(sp_fulltext_

column);;

  1. 为表创造全文索引(sp_fulltext_table);;

  2. 填充全文字笔迹查证索目录(sp_fulltext_catalog)。

上边例如表达怎么样成立全文索引,在本例中,对Test数据库Book表中Title列和Notes列创设全文索引。

use test //张开数据库

//张开全文索引协理,运转SQL Server的全文字笔迹核查索服务

代码如下复制代码

execute sp_fulltext_database enable

//创建全文字笔迹考验索目录ft_test

代码如下复制代码

execute sp_fulltext_catalog ft_test, create

为Title列营造全文索引数据元,pk_title为Book表中由主键所创设的唯一索引,那么些参数是必备的。

代码如下复制代码

execute sp_fulltext_table book,create, ft_test,pk_title

//设置全文索引列名

代码如下复制代码

execute sp_fulltext_column book, title, add

execute sp_fulltext_column book,notes, add

//创设全文索引

代码如下复制代码

execute sp_fulltext_table book, activate

//填充全文索引目录

代码如下复制代码

execute sp_fulltext_catalog ft_test, start_full

至此,全文索引建设构造达成。

其余网络朋友仿效剧情--1. 查看数据库northwind 是还是不是启用 全文索引 SELECT * FROM sys.databasesUSE NorthWind--2.创建全文目录

代码如下复制代码 CREATE FULLTEXT CATALOG [employee_fulltext]WITH ACCENT_SENSITIVITY = OFFAS DEFAULT

--3. 钦命独一索引

代码如下复制代码 CREATE FULLTEXT INDEX ON [dbo].[Employees] KEY INDEX [PK_Employees] ON ([employee_fulltext]) WITH (CHANGE_TRACKING AUTO)

--4. 增添全文索引列

代码如下复制代码 ALTEENVISION FULLTEXT INDEX ON [dbo].[Employees] ADD ([Address])goALTER FULLTEXT INDEX ON [dbo].[Employees] ADD ([LastName])goALTER FULLTEXT INDEX ON [dbo].[Employees] ADD ([FirstName])go

--5. 设置为可用

代码如下复制代码 ALTEWrangler FULLTEXT INDEX ON [dbo].[Employees] ENABLEgo

SQL Server 二零零零提供的全文字笔迹查证索语句首要有CONTAINS和FREETEXT。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字符串的书籍名称及其注释新闻:

代码如下复制代码

select title, notes

from book

where contains(tilte, database) or contains(notes,database)

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)

编辑: 数据库 本文来源:sql全文索引成立与查询实例

关键词: