設定及管理全文檢索的停用字與停用字清單

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控實例

為了防止全文索引變得臃腫,SQL Server Database Engine 有機制會捨棄常見且對搜尋無助的字串。 這些捨棄的字詞稱為 「停用字詞」。 在索引建立期間,全文搜尋引擎會從全文檢索索引中省略停用詞。 這表示全文查詢不會搜尋停字。

字詞 Description
停頓語 停用字詞可能是具有特定語言意義的字詞。 例如,在英語中,像 aandisthe 這類詞彙會被排除在全文索引之外,因為這些詞彙已知對搜尋毫無用處。 停止詞也可以是沒有語言意義的 符號
停用字詞表 在資料庫中,停用詞是使用稱為停用詞清單的物件來管理。 「停用字詞表」是停用字詞的清單,與全文檢索索引相關聯時,會套用至該索引上的全文檢索查詢。

使用現有的停用字詞表

您可以以下列方式使用現有的停用詞表。

  • 在資料庫中使用系統提供的停用字詞清單。 資料庫引擎 附帶一個系統停止字表,包含每種支援語言中最常用的停止字,這些語言預設包含與特定詞斷鍵相關的語言。 您可以複製這份系統停用字詞表,並透過新增和移除停用字詞來自訂您的複本。

    系統停止清單安裝於 資源資料庫中。

  • 在目前伺服器實例中,從另一個資料庫中使用現有的自訂停止字,然後根據需要新增或刪除停止字。

建立新的停用字詞表

你可以用 Transact-SQL(T-SQL)或 SQL Server Management Studio(SSMS)來建立停止清單。

使用 Transact-SQL 建立新的停用字詞表

請使用 CREATE FULLTEXT STOPLIST

使用 SQL Server Management Studio 建立新的停用字清單

  1. 在 [物件總管] 中,展開伺服器。

  2. 展開 [資料庫],然後展開含有您要建立全文檢索停用字詞表的資料庫。

  3. 展開 [儲存體],然後以滑鼠右鍵按一下 [全文檢索停用字詞表]

  4. 選取 [新增全文檢索停用字詞表]

  5. 輸入新的停用字詞表名稱。

  6. 您可以選擇性地將其他人指定為停用字詞表的擁有者。

  7. 請選擇以下一個建立停用字表的選項:

    • 建立空的停用字詞表

    • 從系統阻止清單建立

    • 從現有全文檢索停用字詞表建立

    如需詳細資訊,請參閱全新全文檢索停用字詞表 (一般頁面)

  8. 選取 [確定]。

在全文檢索查詢中使用停用字詞表

若要在查詢中使用停用字詞表,您必須將其與全文檢索索引產生關聯。 您可以在建立索引時將停用字詞表附加到全文檢索索引,也可以之後再更改索引以加入停用字詞表。

任務 方法
建立全文索引,並將其與停止清單建立關聯 請使用 CREATE FULLTEXT INDEX
將停用字詞表與現有的全文檢索索引建立關聯或取消關聯 請使用 ALTER FULLTEXT INDEX

變更停用字詞表中的停用字詞

你可以使用 Transact-SQL(T-SQL)或SQL Server Management Studio(SSMS)來修改停止字表中的終止字。

使用 Transact-SQL,在停用字詞表中新增或卸除停用字詞

請使用 ALTER FULLTEXT STOPLIST

使用 SQL Server Management Studio 從停止字表中新增或刪除停止字

  1. 在 [物件總管] 中,展開伺服器。

  2. 展開 [資料庫],然後展開此資料庫。

  3. 展開 [儲存體],然後選取 [全文檢索停用字詞表]

  4. 以滑鼠右鍵按一下要變更屬性的停止清單,然後選取 [屬性]

  5. [全文檢索停用字詞表屬性] 對話方塊中:

    1. [動作] 清單方塊中,選取下列其中一個動作: [加入停用字詞][刪除停用字詞][刪除所有停用字詞][清除停用字詞表]

    2. 如果已針對選定動作啟用 [停用字詞] 文字方塊,請輸入單一停用字詞。 這個止字必須是獨一無二的。 它不能已經存在於你所選語言的停用詞清單中。

    3. 如果已針對選定動作啟用 [全文檢索語言] 清單方塊,請選取語言。

  6. 選取 [確定]。

管理停用字詞表和其使用方式

請使用以下方法來檢視和管理止點清單。

任務 方法
檢視停用字詞表中的所有停用字詞 sys.fulltext_stopwords
取得目前資料庫中所有停止清單的資訊 sys.fulltext_stoplistssys.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 位的停字 areto, , these 未列入全文索引。 但仍會保留這些文字的位置資訊,使句子中其他文字的位置不受影響。

從 SQL Server 2005 升級雜訊字

SQL Server 2005(9.x)中的雜音字已由停用字取代。 當資料庫從 SQL Server 2005 (9.x) 升級時,將不再使用雜訊詞檔案。 不過,雜訊字詞檔案會儲存在 FTDATA\FTNoiseThesaurusBak 資料夾中,之後在更新或建立對應的停用詞清單時,可使用這些檔案。 如需將雜訊詞檔案升級為停用字詞表的資訊,請參閱 升級全文檢索