全文檢索搜尋 (SQL Server)

SQL Server 2008 提供了一項功能,可讓應用程式和使用者針對 SQL Server 資料表中以字元為基礎的資料發出全文檢索查詢。資料庫管理員必須先在給定的資料表上建立全文檢索索引,然後才能在此資料表上執行全文檢索查詢。全文檢索索引包括資料表中一或多個以字元為基礎的資料行。這些資料行可以具有下列任何資料類型:char、varchar、nchar、nvarchar、text、ntext、image、xml 或 varbinary(max)。每個全文檢索索引都會為基底資料表中的一或多個資料行建立索引,而且每個資料行都可以具有特定的語言。從 SQL Server 2008 開始,全文檢索搜尋便支援 50 種以上不同的語言,例如英文、西班牙文、中文、日文、阿拉伯文、孟加拉文和印度文。如需支援之全文檢索語言的完整清單,請參閱<sys.fulltext_languages (Transact-SQL)>。

SQL Server 會針對每種支援的語言提供語言特有的語言元件,包括斷詞工具、字幹分析器和空的同義字檔案。SQL Server 也會針對每種全文檢索語言提供一個檔案,讓您可以在其中選擇性地定義語言特有的同義字,以便擴充搜尋查詢的範圍 (「同義字檔案」(Thesaurus File))。此外,從 SQL Server 2008 開始,便提供了系統停用字詞表。若要支援特定語言或商務案例,您可以透過加入和移除停用字詞 (也稱為非搜尋字) 來更改系統停用字詞表,而且可以視需要建立其他停用字詞表。

為了撰寫全文檢索查詢,SQL Server 提供了一組全文檢索述詞 (CONTAINS 和 FREETEXT) 與資料列集值函數 (CONTAINSTABLE 和 FREETEXTTABLE)。應用程式和使用者可以使用這些項目來執行各種全文檢索搜尋類型,例如搜尋單一字詞或片語 (並選擇性地排序結果集等級)、搜尋接近其他字詞或片語的字詞或片語,或是搜尋特定字詞的同義字變化。

[!附註]

全文檢索搜尋是 SQL Server Database Engine 的選擇性元件。如需詳細資訊,請參閱<安裝 SQL Server 2008 R2>。

本節內容