共用方式為


對全文檢索搜尋的重大變更

本主題描述全文檢索搜尋的重大變更。 這些變更可能會中斷以舊版 SQL Server 為基礎的應用程式、指令碼或功能。 當您升級時可能會遇到這些問題。 如需詳細資訊,請參閱< Use Upgrade Advisor to Prepare for Upgrades>。

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

將於日後提供資訊。

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

sys.fulltext_languages 中之名稱資料行的定序已變更

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

SQL Server 2008 全文檢索搜尋的重大變更

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

功能 狀況 SQL Server 2005 SQL Server 2008 及更新版本
包含使用者定義型別的CONTAINSTABLE (UDT) 全文檢索索引鍵是SQL Server使用者定義型別,例如 MyType = char(1) 傳回的索引鍵具有指派給使用者定義型別的型別。

在此範例中,這會是 char (1)
傳回的索引鍵具有使用者定義型別。 在此範例中,這會是 MyType
CONTAINSTABLE 和FREETEXTTABLETransact-SQL 語句的top_n_by_rank參數 () top_n_by_rank 使用 0 作為 參數的查詢。 發生失敗並傳回錯誤訊息,該訊息指出您必須使用大於零的值。 成功,傳回零個資料列。
CONTAINSTABLE 和 ItemCount 在基底資料表發送變更到 MSSearch 之前,從基底資料表中刪除資料列。 CONTAINSTABLE 會傳回準刪除記錄。 ItemCount 未變更。 CONTAINSTABLE 不會傳回任何準刪除記錄。
ItemCount 資料表包含 Null 文件或類型資料行。 除了索引檔之外,Null 或具有 Null 類型的檔也會計入 ItemCount 值中。 只有在 ItemCount 值中才會計算索引檔。
Catalog ItemCount 具有 NULL 延伸模組的 Blob 資料行。 它會計算在目錄的 ItemCount 它不會計入目錄的 ItemCount 中。
UniqueKeyCount 從目錄中查詢唯一索引鍵計數,例如兩個資料表 (table1 和 table2),每個資料表都有三個字:word1、word2 和 word3。 UniqueKeyCount = 9。 下表摘要列出如何達到這個值:

table1 = 3

table1 全文檢索索引的 EOF = 1

table2 = 3

table2 全文檢索索引的 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 使用此目錄檢視的路徑、data_space_id 和 file_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設定會指出是否在指定的資料庫中啟用全文檢索搜尋。 此資料行的值沒有任何作用。 使用者資料庫一定會啟用全文檢索搜尋。

另請參閱

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