SQL Server数据库操作中,有时候由于工作的需求可能要实现全文检索的功能。那么全文检索是怎么实现的呢?实现步骤是怎样的呢?本文我们先介绍实现的步骤,然后通过一个完整的例子对全文检索的步骤进行演练,希望能够对您有所帮助。
实现全文检索的步骤如下:
(1)启动数据库的全文处理功能(sp_fulltext_datebase);
(2)建立全文目录(sp_fulltext_catalog);
(3)在全文目录中注册需要全文索引的表(sp_fulltext_table);
(4)指出表中需要全文检索的列名(sp_fulltext_column)
(5)为表创建全文索引(sp_fulltext_table);
(6)填充全文索引(sp_fulltext_catalog)。
--在执行该脚本程序之前启动sql server的全文搜索服务,即microsoft search服务。
- use pubs --打开数据库
- go
--检查pubs是否支持全文索引,如果不支持全文索引,则使用sp_fulltext_datebase打开该功能。
- if (select databaseproperty ('pubs','IsFulltextEnables'))=0
- execute sp_fulltext_database 'enable'
--建立全文目录FT_pubs。
- execute sp_fulltext_catalog 'FT_pubs','create'
--为titles表建立全文索引数据元。
- execute sp_fulltext_table 'titles','FT_pubs','UPKCL_titleidind'
--设置全文索引列名 。
- execute sp_fulltext_column 'titles','title','add'
- execute sp_fulltext_column 'titles','notes','add'
--建立全文索引。
- execute sp_fulltext_table 'FT_pubs','activate'
--填充全文索引目录。
- execute sp_fulltext_catalog 'FT_pubs','start_full'
- GO
--检查全文目录填充情况。
- WHILE FulltextCatalogProperty("FT_pubs','PopulateStatus')<>0
- BEGIN
--如果全文目录正处于填充状态,则等待30秒后再检测一次。
- WAITFOR DELAY ‘0:0:30’
- END
--全文目录填充完成后,使用全文目录检索。
--查询title列或notes列中包含有database或computer字符串的图书名称。
- SELECT title FROM title
- where CONTAINTS(title,'database')
- or contains(notes,'database')
- or contains(title,'computer')
- or contains(notes,'computer')
关于SQL Server数据库实现全文检索的知识就介绍到这里了,希望本次的介绍能够带给您一些收获。
【编辑推荐】