SQL SERVER全文檢索的實(shí)現(xiàn)
SQL SERVER全文檢索的方法不少人都在問(wèn),下面就為您詳細(xì)介紹SQL SERVER全文檢索的實(shí)現(xiàn)方法,如果您對(duì)SQL SERVER全文檢索方面感興趣的話,不妨一看。
在本例中,對(duì)test數(shù)據(jù)庫(kù)book表中title列和notes列建立SQL SERVER全文檢索。
//首先先啟動(dòng)SQL Server的全文搜索服務(wù)。
use test //打開(kāi)數(shù)據(jù)庫(kù)
go
//打開(kāi)全文索引支持
execute sp_fulltext_database ‘enable’
//建立全文目錄ft_pubs
execute sp_fulltext_catalog ‘ft_test’,‘create’
//為titles表建立全文索引數(shù)據(jù)元,pk_title為book表中由主鍵所建立的***索引,此參數(shù)必須。
execute sp_fulltext_table ‘book’,‘create’,‘ft_test’,‘pk_title’
//設(shè)置全文索引列名
execute sp_fulltext_eolumn ‘book’,‘title’,‘ add’
execute sp_fulltext_ column ‘book’,‘notes’,‘add’
//建立全文索引
execute sp_fulltexLtable ‘book’,‘activate’
//填充全文索引目錄
execute sp_fulltext_ catalog ‘ft_test’,‘start_ full’
go
至此,全文索引建立完畢。
3.2 全文檢索
SQL Server 2000提供的全文檢索語(yǔ)句主要有CONTAINS和FREETEXT。CONTAINS語(yǔ)句的功能是在表所有列或指定列中搜索:
●一個(gè)字或短語(yǔ);
●一個(gè)字或短語(yǔ)的前綴;
●與一個(gè)字相近的另一個(gè)字;
●一個(gè)字的派生字;
●一個(gè)重復(fù)出現(xiàn)的字。
CONTAINS語(yǔ)句的語(yǔ)法格式為:
CONTAINS({column *}),‘’) 其中,column說(shuō)明被搜索列,使用時(shí)說(shuō)明對(duì)表中所有全文索引列蓮行搜索
Contains_ search_ condition說(shuō)明CONTAINS語(yǔ)句的搜索內(nèi)容,其語(yǔ)法格式為:
{||| |) [{|ANDIAND NOT|OR}}] [.n]
下面就simple_term和predix_term參數(shù)做一簡(jiǎn)要說(shuō)明:
simple— term指出CONTAINS語(yǔ)句所搜索的單字或短語(yǔ),當(dāng)為一個(gè)短語(yǔ)時(shí),必須使用雙引號(hào)作為定界符。其格式為:
{word | “phrase”}
predix_term說(shuō)明CONTAINS語(yǔ)句所搜索的字或短語(yǔ)前綴,其格式為:
{“word * ”| “phrase ”}
例如,下面語(yǔ)句檢索b0ok表的title列和notes列中包含database或computer字符串的圖書名稱及其注釋信息:
select title,notes from book
where contains(tilte,‘database’)or contains(notes,‘datable’)
or contains(title,‘computer’)or contains(notes,‘computer’)
FREETEXT語(yǔ)句的功能是在一個(gè)表的所有列或指定列中搜索一個(gè)自由文本格式的字符串,并返回與該字符串匹配的數(shù)據(jù)行。所以,F(xiàn)REETEXT語(yǔ)句所執(zhí)行的功能又稱做自由式全文查詢。
FREETEXT語(yǔ)句的語(yǔ)法格式為:
FREETEXT({column * },‘freetext_string’)
其中,column說(shuō)明被搜索列,使用*時(shí)說(shuō)明對(duì)表中的所有全文索引列進(jìn)行搜索。Freetext_string參數(shù)指出所搜索的自由文本格式字符串。
例如,下面語(yǔ)句使用FREETEXT語(yǔ)句搜索book表中包含Successful Life字符串的數(shù)據(jù)行:
select title,notes
from book
where freetext (*,‘Successful Life’)
【編輯推薦】
帶您了解SQL Server觸發(fā)器的優(yōu)點(diǎn)


















