共用方式為


全文檢索索引

更新: 2006 年 7 月 17 日

全文檢索索引是一種使用 Token 的特殊功能索引類型,可以利用 Microsoft SQL Server 的「Microsoft 全文檢索引擎 (MSFTESQL)」服務建立及維護。建立全文檢索索引的程序與建立其他類型索引的程序大不相同。MSFTESQL 會根據個別 Token 從索引中的文字建立反向、堆疊以及壓縮的索引結構,而不是根據特定資料列中所儲存的值來建構 B 型樹狀目錄結構。

在 SQL Server 2005 中,全文檢索索引的大小只受限於執行 SQL Server 執行個體之電腦的可用記憶體資源。

建立和維護全文檢索索引的程序稱為檢索母體擴展。Microsoft 支援下列類型的全文檢索母體擴展:

  • 完整母體擴展
  • 以變更追蹤為基礎的母體擴展
  • 以時間戳記為基礎的累加母體擴展

完整母體擴展

通常發生在全文檢索目錄或全文檢索索引的初次母體擴展。之後可透過變更追蹤母體擴展或累加母體擴展來維護索引。

在全文檢索目錄執行完整母體擴展期間,會為資料庫目錄涵蓋之所有資料表中的所有資料列建立索引項目。如果對資料表要求完整母體擴展,則會為該資料表中的所有資料列建立索引項目。

如果不想在建立全文檢索索引時執行母體擴展,請使用 CREATE FULLTEXT INDEX 陳述式,並搭配 CHANGE TRACKING OFF 選項,您必須指定 NO POPULATION。唯有在使用者執行 ALTER FULLTEXT INDEX 命令並指定 START FULL、INCREMENTAL 或 UPDATE POPULATION 子句之後,才會擴展索引。

以變更追蹤為基礎的母體擴展

SQL Server 可維護已設定全文檢索索引之資料表上的資料列記錄變更。這些變更會傳播至全文檢索索引。

在 CREATE FULLTEXT INDEX 陳述式中指定 WITH CHANGE_TRACKING 選項,即可啟動追蹤變更。使用變更追蹤時,您可以指定如何將變更傳播至全文檢索索引。

ms142575.note(zh-tw,SQL.90).gif附註:
變更追蹤母體擴展需考慮全文檢索的初始母體擴展。

若要將變更自動傳播至全文檢索索引,請在 CREATE FULLTEXT INDEX 或 ALTER FULLTEXT INDEX 陳述式中使用 AUTO 選項。

透過指定 MANUAL 選項,即可根據排程手動傳播變更,或是透過 SQL Server Agent 傳播變更,或自行手動傳播。

ms142575.note(zh-tw,SQL.90).gif附註:
變更追蹤會稍微加重系統負載。若不想讓 SQL Server 追蹤變更,請使用 CHANGE TRACKING OFF 選項。

以時間戳記為基礎的累加母體擴展

累加母體擴展會在上次母體擴展進行時或是完成後,針對資料列的新增、刪除或修改進行全文檢索索引的更新。累加母體擴展的執行要件是,索引資料表必須包含 timestamp 資料類型資料行。少了 timestamp 資料行,就無法執行累加母體擴展。對不含 timestamp 資料行的資料表提出累加母體擴展要求的話,會導致執行完整母體擴展作業。

如果從上次執行母體擴展後,會對資料表之全文檢索索引造成影響的中繼資料已有所變更,便會以完整母體擴展的方式執行累加母體擴展。這包括任何資料行、索引或全文檢索索引定義的變更。

母體擴展結束時,「SQL 收集程式」會記錄新的 timestamp 值。此值會等於「SQL 收集程式」所見過的最大 timestamp 值。後續的累加母體擴展啟動時,會使用此值。

請參閱

概念

全文檢索搜尋基礎觀念

其他資源

CREATE FULLTEXT INDEX (Transact-SQL)
ALTER FULLTEXT INDEX (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 7 月 17 日

新增內容:
  • 新增有關全文檢索索引的大小只受限於電腦可用記憶體資源的說明。