適用於:SQL Server
Azure SQL Database
Azure SQL 受控實例
為了防止全文索引變得臃腫,SQL Server Database Engine 有機制會捨棄常見且對搜尋無助的字串。 這些捨棄的字詞稱為 「停用字詞」。 在索引建立期間,全文搜尋引擎會從全文檢索索引中省略停用詞。 這表示全文查詢不會搜尋停字。
| 字詞 | Description |
|---|---|
| 停頓語 | 停用字詞可能是具有特定語言意義的字詞。 例如,在英語中,像 a、 and、 is和 the 這類詞彙會被排除在全文索引之外,因為這些詞彙已知對搜尋毫無用處。 停止詞也可以是沒有語言意義的 符號 。 |
| 停用字詞表 | 在資料庫中,停用詞是使用稱為停用詞清單的物件來管理。 「停用字詞表」是停用字詞的清單,與全文檢索索引相關聯時,會套用至該索引上的全文檢索查詢。 |
使用現有的停用字詞表
您可以以下列方式使用現有的停用詞表。
在資料庫中使用系統提供的停用字詞清單。 資料庫引擎 附帶一個系統停止字表,包含每種支援語言中最常用的停止字,這些語言預設包含與特定詞斷鍵相關的語言。 您可以複製這份系統停用字詞表,並透過新增和移除停用字詞來自訂您的複本。
系統停止清單安裝於 資源資料庫中。
在目前伺服器實例中,從另一個資料庫中使用現有的自訂停止字,然後根據需要新增或刪除停止字。
建立新的停用字詞表
你可以用 Transact-SQL(T-SQL)或 SQL Server Management Studio(SSMS)來建立停止清單。
使用 Transact-SQL 建立新的停用字詞表
使用 SQL Server Management Studio 建立新的停用字清單
在 [物件總管] 中,展開伺服器。
展開 [資料庫],然後展開含有您要建立全文檢索停用字詞表的資料庫。
展開 [儲存體],然後以滑鼠右鍵按一下 [全文檢索停用字詞表]。
選取 [新增全文檢索停用字詞表]。
輸入新的停用字詞表名稱。
您可以選擇性地將其他人指定為停用字詞表的擁有者。
請選擇以下一個建立停用字表的選項:
建立空的停用字詞表
從系統阻止清單建立
從現有全文檢索停用字詞表建立
如需詳細資訊,請參閱全新全文檢索停用字詞表 (一般頁面)。
選取 [確定]。
在全文檢索查詢中使用停用字詞表
若要在查詢中使用停用字詞表,您必須將其與全文檢索索引產生關聯。 您可以在建立索引時將停用字詞表附加到全文檢索索引,也可以之後再更改索引以加入停用字詞表。
| 任務 | 方法 |
|---|---|
| 建立全文索引,並將其與停止清單建立關聯 | 請使用 CREATE FULLTEXT INDEX。 |
| 將停用字詞表與現有的全文檢索索引建立關聯或取消關聯 | 請使用 ALTER FULLTEXT INDEX。 |
變更停用字詞表中的停用字詞
你可以使用 Transact-SQL(T-SQL)或SQL Server Management Studio(SSMS)來修改停止字表中的終止字。
使用 Transact-SQL,在停用字詞表中新增或卸除停用字詞
使用 SQL Server Management Studio 從停止字表中新增或刪除停止字
在 [物件總管] 中,展開伺服器。
展開 [資料庫],然後展開此資料庫。
展開 [儲存體],然後選取 [全文檢索停用字詞表]。
以滑鼠右鍵按一下要變更屬性的停止清單,然後選取 [屬性]。
在 [全文檢索停用字詞表屬性] 對話方塊中:
在 [動作] 清單方塊中,選取下列其中一個動作: [加入停用字詞]、 [刪除停用字詞]、 [刪除所有停用字詞]或 [清除停用字詞表]。
如果已針對選定動作啟用 [停用字詞] 文字方塊,請輸入單一停用字詞。 這個止字必須是獨一無二的。 它不能已經存在於你所選語言的停用詞清單中。
如果已針對選定動作啟用 [全文檢索語言] 清單方塊,請選取語言。
選取 [確定]。
管理停用字詞表和其使用方式
請使用以下方法來檢視和管理止點清單。
| 任務 | 方法 |
|---|---|
| 檢視停用字詞表中的所有停用字詞 | 用 sys.fulltext_stopwords。 |
| 取得目前資料庫中所有停止清單的資訊 | 用 sys.fulltext_stoplists 和 sys.fulltext_stopwords。 |
| 檢視斷詞工具、同義詞庫及停用字詞表組合的詞元化結果 | 用 sys.dm_fts_parser。 |
| 如果停用字詞造成全文檢索查詢的布林運算導致失敗,則隱藏錯誤訊息 | 使用 伺服器設定:轉換雜訊詞。 |
更多關於停止字位置的資訊
雖然全文索引會忽略是否包含停用詞,但確實會將停用詞的位置納入考量。 例如,考慮短語 Instructions are applicable to these Adventure Works Cycles models。 下表說明這些單字在片語中的位置:
| Word | 位置 |
|---|---|
Instructions |
1 |
are |
2 |
applicable |
3 |
to |
4 |
these |
5 |
Adventure |
6 |
Works |
7 |
Cycles |
8 |
models |
9 |
位於第 2、4 和 5 位的停字 are, to, , these 未列入全文索引。 但仍會保留這些文字的位置資訊,使句子中其他文字的位置不受影響。
從 SQL Server 2005 升級雜訊字
SQL Server 2005(9.x)中的雜音字已由停用字取代。 當資料庫從 SQL Server 2005 (9.x) 升級時,將不再使用雜訊詞檔案。 不過,雜訊字詞檔案會儲存在 FTDATA\FTNoiseThesaurusBak 資料夾中,之後在更新或建立對應的停用詞清單時,可使用這些檔案。 如需將雜訊詞檔案升級為停用字詞表的資訊,請參閱 升級全文檢索。