[鐵人賽][Denali 新特性探險16]Semantic Search(1)
概述
Semantic Search 是基於全文檢索功能而建立(中文翻譯:語意擷取),
包含在相關非結構文件內容中自動擷取及統計文字詞組(字與字之間的關聯性)。
當你建立全文檢索索引並加入 Statistical_Semantics 關鍵字時,不僅可以有效搜尋關鍵字,
也可以在文件中搜尋 Key phrase (關鍵詞組)或其他相似文件內容,
可說大大提高全文檢索可用性(不單單只有關鍵字而已)。
Note: 全文檢索索引是一種特殊類型的 Token 式功能索引,而不是根據特定資料列中所儲存的值來建構 B-tree(平衡樹)。
新函數:
Denali 針對Semantic Search 提供三個新函數。
1. semantickeyphrasetable (Transact-SQL)
在資料表或文件中搜尋你指定的Key phrase(關鍵詞組)。
2. semanticsimilaritytable (Transact-SQL)
依你所指定的文件來找出相似文件。
3. semanticsimilaritydetailstable (Transact-SQL)
兩個指定文件中顯示common Key phrase(共同的關鍵詞組)。
安裝和註冊Semantics Search
要想使用Semantic Search 必須先安裝 Semantics DB。
Note:Semantics DB包含了Semantics Search所需各種語言語意的統計模型。
1.執行 SEMANTICLANGUAGEDATABASE.MSI(你可以在 Setup 目錄下找到該檔案)
該路徑下會建立 Semantics DB Data and Log File(如下圖)。
安裝成功。
2.附加Semantics資料庫(Attach Semantics DB )
exec sp_attach_db @dbname='semanticsDB',
@filename1=N'C:\Program Files\Microsoft Semantic Language Database\semanticsDB.mdf',
@filename2=N'C:\Program Files\Microsoft Semantic Language Database\semanticsdb_log.ldf'
附加成功。
確認是否安裝Semantics Search
select SERVERPROPERTY('IsFullTextInstalled');
1:已安裝。
0:未安裝。
3.註冊 Semantics Search
我們可以透過sys.fulltext_semantic_language_statistics_database 查看註冊的時間和版本…等資訊。
目前該SQL Instance並未註冊 Semantic Search。
執行 sp_fulltext_semantic_register_language_statistics_db註冊
--註冊 semantic search
exec sp_fulltext_semantic_register_language_statistics_db @dbname = N'semanticsDB';
註冊成功。
確認Semantic Search是否支援繁體中文語系(可透過 sys.fulltext_semantic_languages 確認)
select *
from sys.fulltext_semantic_languages
有支援繁體中文。