使用SQL Server中的全文索引

作者: 高海東  來源: 博客園  發布時間: 2010-02-26 13:13  閱讀: 2714 次  推薦: 0   原文鏈接   [收藏]  

  一般情況,使用SQL Server中的全文索引,經過大體4個步驟:

  1). 安裝full text search全文索引服務;

  2). 為數據表建立full text catalog全文索引目錄;

  3). 進行full text catalog的population操作(使全文索引與數據表內容同步);

  4). 使用全文索引進行查詢。

  為了在數據表內容更新時全文索引數據庫的內容也保持最新,可以通過第5步建立full text catalog 的Population自動操作Schedule.

  1. SQL Server默認不安裝full text search service,需要安裝時選擇裝上才可以使用。如果安裝了full text search service,那么SQL Server Enterprise manager(企業管理器)中,展開一個數據庫,會有一個Full Text Catalogs;選中一個數據庫,右鍵菜單的“新建“中有一個New Full Text CataLog.并且選中任意一個表格,點右鍵,會有一個Full-text Index Table(全文索引表)的菜單可以使用。如果full text search service沒有安裝,那么這個菜單是灰色的。

  2. 為表建立full text catalog.假設數據庫CoreDB中有一個表myBBS,這個表存儲的是一個論壇所有帖子的ID,標題(title),作者(author),內容(content)等。我們選中表myBBS,點右鍵,New Full Text Catalog,選擇content作為全文索引的字段,建立新的Full Text Catalog,取名為content.

  3. 到這個時候,只是建立了full text catalog,并不能使用全文索引。需要使全文目錄中的內容與數據庫索引表的內容相一致,這一步通過Full Population或Incremental Population來實現:企業管理器中展開數據庫CoreDB,雙擊Full-Text Catalog,會看到有一個名為content的全文目錄,選中右擊,點Start Full Population或Start Incremental Population,此時即可使用索引功能。

  4. 使用索引功能:

select * from mybbs where Contains(content,'"windows"');

  此語句在mybbs表的全文索引content中,查詢含有windows字符串的記錄。

  5. 以后數據庫中的索引表有更新時,都需要進行Population同步操作,全文查詢的內容才是新的數據表中的內容。因此我們可以設定SQL Server自動進行Population操作:右擊名為content的full text catalog,Schedules,New Catalog Schedules,輸入名字,選中Enabled選項,可以設置計劃任務的執行頻率,可設置每次啟動SQL Server agent的時候啟動,也可以設置執行一次,或者設置重復執行,重復執行里面可以設置執行頻率為月,周,日,可以設置每天若干小時執行一次。(這樣只要Service里面啟動了SQL Server agent,population同步計劃都會自動執行)

  總結一下,通過安裝全文索引服務,建立數據表的全文索引目錄,同步全文索引數據庫之后,即可開始使用全文索引查詢。可通過建立full text catalog的自動population schedule來自動同步索引數據庫。

0
0
 
標簽:SQL Server
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()