|
一般情況,使用SQL Server中的全文索引,經(jīng)過大體4個(gè)步驟:
1). 安裝full text search全文索引服務(wù);
2). 為數(shù)據(jù)表建立full text catalog全文索引目錄;
3). 進(jìn)行full text catalog的population操作(使全文索引與數(shù)據(jù)表內(nèi)容同步);
4). 使用全文索引進(jìn)行查詢。
為了在數(shù)據(jù)表內(nèi)容更新時(shí)全文索引數(shù)據(jù)庫的內(nèi)容也保持最新,可以通過第5步建立full text catalog 的Population自動(dòng)操作Schedule.
1. SQL Server默認(rèn)不安裝full text search service,需要安裝時(shí)選擇裝上才可以使用。如果安裝了full text search service,那么SQL Server Enterprise manager(企業(yè)管理器)中,展開一個(gè)數(shù)據(jù)庫,會(huì)有一個(gè)Full Text Catalogs;選中一個(gè)數(shù)據(jù)庫,右鍵菜單的“新建“中有一個(gè)New Full Text CataLog.并且選中任意一個(gè)表格,點(diǎn)右鍵,會(huì)有一個(gè)Full-text Index Table(全文索引表)的菜單可以使用。如果full text search service沒有安裝,那么這個(gè)菜單是灰色的。
2. 為表建立full text catalog.假設(shè)數(shù)據(jù)庫CoreDB中有一個(gè)表myBBS,這個(gè)表存儲(chǔ)的是一個(gè)論壇所有帖子的ID,標(biāo)題(title),作者(author),內(nèi)容(content)等。我們選中表myBBS,點(diǎn)右鍵,New Full Text Catalog,選擇content作為全文索引的字段,建立新的Full Text Catalog,取名為content.
3. 到這個(gè)時(shí)候,只是建立了full text catalog,并不能使用全文索引。需要使全文目錄中的內(nèi)容與數(shù)據(jù)庫索引表的內(nèi)容相一致,這一步通過Full Population或Incremental Population來實(shí)現(xiàn):企業(yè)管理器中展開數(shù)據(jù)庫CoreDB,雙擊Full-Text Catalog,會(huì)看到有一個(gè)名為content的全文目錄,選中右擊,點(diǎn)Start Full Population或Start Incremental Population,此時(shí)即可使用索引功能。
4. 使用索引功能:
select * from mybbs where Contains(content,'"windows"');
此語句在mybbs表的全文索引content中,查詢含有windows字符串的記錄。
5. 以后數(shù)據(jù)庫中的索引表有更新時(shí),都需要進(jìn)行Population同步操作,全文查詢的內(nèi)容才是新的數(shù)據(jù)表中的內(nèi)容。因此我們可以設(shè)定SQL Server自動(dòng)進(jìn)行Population操作:右擊名為content的full text catalog,Schedules,New Catalog Schedules,輸入名字,選中Enabled選項(xiàng),可以設(shè)置計(jì)劃任務(wù)的執(zhí)行頻率,可設(shè)置每次啟動(dòng)SQL Server agent的時(shí)候啟動(dòng),也可以設(shè)置執(zhí)行一次,或者設(shè)置重復(fù)執(zhí)行,重復(fù)執(zhí)行里面可以設(shè)置執(zhí)行頻率為月,周,日,可以設(shè)置每天若干小時(shí)執(zhí)行一次。(這樣只要Service里面啟動(dòng)了SQL Server agent,population同步計(jì)劃都會(huì)自動(dòng)執(zhí)行)
總結(jié)一下,通過安裝全文索引服務(wù),建立數(shù)據(jù)表的全文索引目錄,同步全文索引數(shù)據(jù)庫之后,即可開始使用全文索引查詢。可通過建立full text catalog的自動(dòng)population schedule來自動(dòng)同步索引數(shù)據(jù)庫。
it知識(shí)庫:使用SQL Server中的全文索引,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。