一個完整的SQL SERVER資料庫全文索引的示例

Kiver 发布于2004-2-13 10:21 894 次浏览 1 位用户参与讨论   [复制分享主题]
[Post=10]<SPAN class=bold><SPAN class=smalltxt><b><FONT size=2>一個完整的SQL SERVER資料庫全文索引的示例<BR><BR></FONT></b></SPAN></SPAN>一個完整的SQL SERVER資料庫全文索引的示例。(以pubs資料庫為例)<BR><BR>首先,介紹利用系統存儲過程創建全文索引的具體步驟:<BR><BR>1) 啟動資料庫的全文處理功能 (sp_fulltext_database)<BR>2) 建立全文目錄 (sp_fulltext_catalog)<BR>3) 在全文目錄中註冊需要全文索引的表 (sp_fulltext_table)<BR>4) 指出表中需要全文索引的列名 (sp_fulltext_column)<BR>5) 為表創建全文索引 (sp_fulltext_table)<BR>6) 填充全文目錄 (sp_fulltext_catalog)<BR><BR><BR>---------********示例********-------------<BR>以對pubs資料庫的title和notes列建立全文索引,之後使用索引查詢title列或notes列中包含有datebase 或computer字串的圖書名稱:<BR><BR>在這之前,需要安裝Microsoft Search服務,啟動SQL server全文搜索服務<BR><BR><BR>user pubs --打開資料庫<BR>go<BR>--檢查資料庫pubs是否支援全文索引,如果不支援<BR>--則使用sp_fulltext_database 打開該功能\<BR>if(select databaseproperty('pubs','isfulltextenabled'))=0 <BR>execute sp_fulltext_database 'enable'<BR><BR>--建立全文目錄FT_PUBS<BR>execute sp_fulltext_catalog 'FT_pubs','create'<BR><BR>--為title表建立全文索引資料元<BR>execute sp_fulltext_table 'title','create','FT_pubs','UPKCL_titleidind'<BR><BR>--設置全文索引列名<BR>execute sp_fulltext_column 'title','title','add'<BR>execute sp_fulltext_column 'title','notes','add'<BR><BR>--建立全文索引<BR>--activate,是啟動表的全文檢索能力,也就是在全文目錄中註冊該表<BR>execute sp_fulltext_table 'title','activate'<BR><BR>--填充全文索引目錄<BR>execute sp_fulltext_catalog 'FT_pubs','start_full'<BR>go<BR><BR>--檢查全文目錄填充情況<BR>While fulltextcatalogproperty('FT_pubs','populateStatus')&lt;&gt;0<BR>begin<BR><BR>--如果全文目錄正處於填充狀態,則等待30秒後再檢測一次<BR>waitfor delay '0:0:30'<BR>end<BR><BR>--全文目錄填充完成後,即可使用全文目錄檢索<BR><BR>select title<BR>form<BR>where CONTAINS(title,'database')<BR>or CONTAINS(title,'computer')<BR>or CONTAINS(notes,'database')<BR>or CONTAINS(notes,'database')<BR><BR><BR><BR>'--------------以下介紹一下全文操作類的系統存儲過程<BR>過程名稱:sp_fulltext_service<BR>執行許可權:serveradmin或系統管理員<BR>作 用:設置全文搜索屬性<BR><BR><BR>過程名稱:sp_fulltext_catalog<BR>執行許可權:db_owner及更高角色成員<BR>作 用:創建和刪除一個全文目錄,啟動或停止一個全文目錄的索引操作<BR><BR><BR>過程名稱:sp_fulltext_database<BR>執行許可權:db_owner角色成員<BR>作 用:初始化全文索引或刪除資料庫中所有全文目錄<BR><BR><BR>過程名稱:sp_fulltext_table<BR>執行許可權:db_ddladnmin或db_owner角色成員<BR>作 用:將一個表標識為全文索引表或非全文索引表<BR><BR><BR>過程名稱:sp_fulltext_column <BR>執行許可權:db_ddladnmin角色成員<BR>作 用:指出一個全文索引表中的那些列假如或退出全文索引[/Post]

已有(1)人评论

ufree 发表于 2004-11-10 05:40:55 | 显示全部楼层
路过,看看
您需要登录后才可以回帖 登录 | 註冊

本版积分规则

快速
回复
返回
列表
返回
顶部