全文檢索索引概觀

全文檢索引擎會使用全文檢索索引中的資訊來編譯全文檢索查詢,以便快速地在資料表中搜尋特定單字或單字組合。全文檢索索引會儲存重要單字及這些單字在資料庫資料表之一或多個資料行內位置的相關資訊。全文檢索索引是一種特殊類型的 Token 式功能索引,由 Full-Text Engine for SQL Server 所建立與維護。建立全文檢索索引的程序與建立其他索引類型的程序大不相同。全文檢索引擎會根據個別 Token 從索引中的文字建立反向、堆疊以及壓縮的索引結構,而不是根據特定資料列中所儲存的值來建構 B 型樹狀結構。在 SQL Server 2008 中,全文檢索索引的大小只受限於執行 SQL Server 執行個體之電腦的可用記憶體資源。

從 SQL Server 2008 開始,全文檢索索引會與 Database Engine 整合在一起,而非位於檔案系統中,如同舊版 SQL Server。在新的資料庫中,全文檢索目錄現在是不屬於任何檔案群組的虛擬物件。它只是參考一組全文檢索索引的邏輯概念。不過,請注意,在 SQL Server 2000 或 SQL Server 2005 資料庫 (含有資料檔案的任何全文檢索目錄) 的升級期間,系統會建立新的檔案群組。如需詳細資訊,請參閱<全文檢索搜尋升級>。

[!附註]

在 SQL Server 2008 中,全文檢索引擎位於 SQL Server 處理序中,而非個別的服務中。將全文檢索引擎整合到 Database Engine 可以改善全文檢索管理能力、混合式查詢的最佳化,以及整體效能。

每個資料表只允許有一個全文檢索索引。若要對資料表建立全文檢索索引,該資料表必須有單一的非 Null 唯一資料行。您可以針對 char、varchar、nchar、nvarchar、text、ntext、image、xml、varbinary 和 varbinary(max) 類型的資料行建立全文檢索索引,並且建立全文檢索搜尋的索引。針對 image、varbinary 或 varbinary(max) 建立全文檢索索引會要求您指定類型資料行。類型資料行是一個資料表資料行,您可以在每個資料列中儲存文件的副檔名 (.doc、.pdf 和 .xls 等等)。

若能充分了解全文檢索索引的結構,將有助於了解全文檢索引擎的運作方式。如需詳細資訊,請參閱<全文檢索索引結構>。

建立與維護全文檢索索引的程序稱為「母體擴展」(Population) (也稱為「搜耙」(Crawl))。全文檢索索引母體擴展有三種類型:完整母體擴展、以變更追蹤為基礎的母體擴展,以及以時間戳記為基礎的累加母體擴展。如需詳細資訊,請參閱<全文檢索索引母體擴展>。

若要建立全文檢索索引

若要更改全文檢索索引

若要卸除全文檢索索引