共用方式為


Full-Text 搜尋的重大變更

本主題描述全文搜索的重大變更。 這些變更可能會中斷以舊版 SQL Server 為基礎的應用程式、腳本或功能。 升級時可能會遇到這些問題。 如需詳細資訊,請參閱使用 升級建議程式 準備升級

SQL Server 2014 中 Full-Text 搜尋的重大變更

稍後會提供的資訊。

SQL Server 2012 中 Full-Text 搜尋的重大變更

sys.fulltext_languages 中名稱欄的排序順序已變更

目錄檢視sys.fulltext_languages (Transact-SQL) 中語言名稱數據行的定序已從資源資料庫的固定定序變更為 SQL Server 實例選取的預設定序。 當您聯結 sys.syslanguages (Transact-SQL) 檢視與sys.fulltext_languages時,這項變更可讓您比較名稱數據行中的值。 例如,您可以查詢預設全文檢索語言與預設資料庫語言不同的所有資料庫。

SQL Server 2008 中 Full-Text 搜尋的重大變更

下列重大變更適用於 SQL Server 2005 與 SQL Server 2008 和更新版本之間的 Full-Text 搜尋。

特徵 / 功能 情境 SQL Server 2005 SQL Server 2008 和更新版本
CONTAINSTABLE 與使用者定義的類型(UDTs) 全文檢索鍵是 SQL Server 使用者定義的型別,例如 MyType = char(1) 傳回的索引鍵是指派給使用者定義型別的類型。

在這裡範例中,這會是 char(1)
傳回的索引鍵是用戶定義型別。 在此範例中,這會是 MyType
top_n_by_rank 參數 (CONTAINSTABLE 和 FREETEXTTABLETransact-SQL 語句) top_n_by_rank 使用 0 做為 參數的查詢。 失敗並出現錯誤訊息,指出您必須使用大於零的值。 成功,傳回零個資料列。
CONTAINSTABLE 和 ItemCount 先從基表刪除數據列,再將變更推送至 MSSearch。 CONTAINSTABLE 會傳回鬼影記錄。 ItemCount 未變更。 CONTAINSTABLE 不會傳回任何幽靈記錄。
ItemCount 數據表包含空文檔或類型欄位。 除了已編製索引的檔,Null 或具有 Null 類型的檔也會在 ItemCount 值中計算。 ItemCount 值只會計算已編製索引的文件。
目錄 ItemCount 具有 NULL 擴充功能的 Blob 資料行。 它會計算在目錄的 ItemCount 它不會計入目錄的 ItemCount 中。
唯一鍵數量 從目錄查詢唯一鍵計數,例如,兩個資料表(table1 和 table2)分別有三個詞:word1、word2 和 word3。 UniqueKeyCount = 9。 下表摘要說明如何達到此值:

table1 = 3

數據表 1 = 1 之全文檢索索引的 EOF

table2 = 3

數據表2的全文索引的EOF = 1

全文檢索目錄 = 1
針對每個數據表, UniqueKeyCount 是相異關鍵詞 + 1 的數目(0xFF)。 這不會將>1個檔案中的相同單字視為新的唯一鍵。

對於目錄, UniqueKeyCount 是目錄下每個數據表的 UniqueKeyCount 總和。 來自不同數據表的相同單字會被視為唯一索引鍵。 在此情況下,唯一索引鍵的數量為8。
預先計算排名 伺服器層級選項 FREETEXTTABLE 查詢的效能優化。 當選項設定為 1 時,以 top_n_by_rank 指定的 FREETEXTTABLE 查詢會使用儲存在全文檢索目錄中的預先計算排名數據。 不支援 。
sp_fulltext_pendingchanges 更新關鍵資料列時 更新一個包含2列數據表的其中一列的全文檢索索引鍵欄,然後執行sp_fulltext_pendingchanges。 這兩個數據列都會出現。 只有一個數據列出現。
內嵌函式 具有全文檢索運算子的內嵌函式 傳回錯誤訊息。 傳回相關的數據列。
sp_fulltext_database 使用 sp_fulltext_database 啟用或停用全文搜索。 全文檢索查詢不會傳回任何結果。 如果資料庫停用全文檢索,則不允許全文檢索作業。 將結果傳回全文檢索查詢,並允許全文檢索作業,即使資料庫已停用全文檢索也一樣。
地區特定的停用字詞 查詢母語的區域性語言變體,例如比利時法語版本和加拿大法語版本。 特定地區變體的查詢將由其母語的元件(分詞工具、詞幹分析器和停用字詞)進行處理。 例如,法語(法國)組件可用來剖析法語(比利時)。 您必須為每個地區識別碼(LCID)明確地新增停用字詞。 例如,您必須為比利時、加拿大和法國指定 LCID。
同義詞詞幹處理過程 使用同義字和變化形式(詞幹)。 同義詞在展開後會自動進行詞幹分析。 如果您想在展開中包含字幹形式,您需明確加入字幹形式。
全文檢索目錄的路徑和檔案群組 使用全文索引目錄。 每個全文檢索目錄都有實體路徑,並屬於檔案群組。 它會被視為資料庫檔案。 全文檢索目錄是虛擬物件,而且不屬於任何檔案群組。 全文檢索目錄是參考全文檢索索引群組的邏輯概念。

注意:指定全文檢索目錄的 SQL Server 2005Transact-SQL DDL 語句正常運作。
sys.fulltext_catalogs 使用此目錄檢視的路徑、資料空間 ID 和檔案 ID。 這些數據行會傳回特定值。 這些數據行會傳回 NULL,因為全文檢索目錄已不再位於文件系統中。
sys.sysfulltextcatalogs 使用這個已不再支援的系統數據表的路径數據行。 傳回全文檢索目錄的檔案系統路徑。 傳回 NULL,因為全文檢索目錄已不再位於文件系統中。
sp_help_fulltext_catalogs

sp_help_fulltext_catalogs_cursor
使用這些已取代預存程式的PATH資料行。 傳回全文檢索目錄的檔案系統路徑。 傳回 NULL,因為全文檢索目錄已不再位於文件系統中。
sp_help_fulltext_catalog_components 使用 sp_help_fulltext_catalog_components 來操作此預存程式。 傳回用於目前資料庫中所有全文檢索目錄的所有元件清單(篩選、斷詞工具和通訊協定處理程式)。 傳回空的數據列。
DATABASEPROPERTYEX 使用 IsFullTextEnabled 屬性。 IsFullTextEnabled 設定會指出是否在指定的資料庫中啟用全文搜索。 此數據行的值沒有任何作用。 使用者資料庫一定會啟用全文檢索搜尋。

另請參閱

全文檢索搜尋的行為變更
全文檢索搜尋