天天看點

SqlServer2008執行個體32全文索引和全文目錄之建立全文索引

建立全文索引的指令是CREATE FULLTEXT INDEX.部分文法如下所示;

CREATE FULLTEXT INDEX ON table_name  

   [ ( { column_name   

             [ TYPE COLUMN type_column_name ]  

             [ LANGUAGE language_term ]   

        } [ ,...n]   

      ) ]  

    KEY INDEX index_name   

    [ ON fulltext_catalog_name ]  

    [ WITH [ ( ] <with_option> [ ,...n] [ ) ] ]  

[;]  

<with_option>::=  

 {  

   CHANGE_TRACKING [ = ] { MANUAL | AUTO | OFF [, NO POPULATION ] }   

 | STOPLIST [ = ] { OFF | SYSTEM | stoplist_name } 

 }

 CREATE FULLTEXT INDEX參數

參  數 描  述
table_name 這個參數指定要建立全文索引的表的名稱,一個表隻允許有一個全文索引
column_name 這個參數定義要建立全文索引的一列或多列的名字,資料類型隻能為varchar,nvarchar、char、nchar、xml、varbinary、text、ntext. image
type_column_name TYPE COLUMN關鍵字标記用來指定表中的列,告訴全文索引在varblnary(max)或image資料類型的列中儲存了什麼類璀的資料.SQL Server可以解釋不同的檔案類型,但是它必須準确地知道如何去處理
language_term LANGUAGE為可選關鍵字,也可以用在列清單中用來指出列中資料的語言.指出語言能幫助SQL Server确定在全文索引處理過程中如何進行資料解析及如何進行語言解釋可以在sys.fulltext_languages表中查詢到有哪些可使用的語言
index_name 為了能在某個表上建立全文索引,表必須包含一個唯一的單鍵非空列。例如,一個單列主鍵或·一個非空的且具有UNIQUE限制的列.CREATE FULLTEXT INDEX指令的KEY INDEX子句辨別指定表上所需的唯一鍵列
fulltext_catalog_name ON子句指定全文索引要存儲的全文目錄。如果在全文索引建立前設定過預設全文目錄,而且沒有使用該選項,那麼該全文索引l将建立在預設的全文目錄中.如果沒有定義預設全文目錄.全文索引的刨建将會失敗
CHANGE_TRACKING [ = ] { MANUAL | AUTO | OFF [, NO POPULATION ] }    這個參數決定全文服務如何監測到使用者資料的變化.基于這個設定,全文索引可以 随着表資料的更新而自動更新,也可以選擇在某個所選擇的時間點或者計劃表手動更新全文索引,指定AUTO選項後,全文索引會随着表資料的修改而自動更新。MANUAL選項意味着,全文索引要通過使用者手動傳播或是通過SQL Servcr代理按計劃傳播.OFF選項意味着.SQLServer不保留對索引資料的更改。聲明含NO POPULATION的OFF選項意味着,全文索引建立之後不會被立即填充.在使用這個選項時,全文索引隻有在使用者執行ALTER FULLTEXT INDEX後才會被填充。
| STOPLIST [ = ] { OFF | SYSTEM | stoplist_name 非索引字表包含非索引字的清單,它是可以被搜尋忽略的字元串.預設選項是SYSTEM ,意思是使用預設系統非索引字表。當這個選項設為OFF時.不使用非索引字表。否則,指定stoplist_name來使用使用者定義的非索引字表

    例如,在AdventureWorks資料庫的Production.Document表上建立一個新的全文索引。全文索引的列是DocumentSummary,

FileExtension是包含了指向列的文檔類型的指針的列:

USE AdventureWorks
GO

--指定全文索引基于哪一個表:
CREATE FULLTEXT INDEX ON Production.Document

--指定全文索引的列,列類型指針說明了列的文檔類型
(DocumentSummary,Document TYPE COLUMN FileExtension)

--辨別鍵(表的非空唯一列)的名稱:
KEY INDEX PK_Document_DocumentID

--ON子句指定全文索引要存儲的全文目錄:
ON cat_Production_Document

--指定全文索引的填充方式:
WITH CHANGE_TRACKING AUTO,STOPLIST=SYSTEM
           

繼續閱讀