適用於:SQL Server
使用transform noise words伺服器組態選項來隱藏錯誤訊息,如果非搜尋字(也稱為停用字詞)導致全文檢索查詢中的布爾運算結果為零行資料時。 若全文檢索查詢使用的 CONTAINS 述詞中,布林運算或 NEAR 運算有包括非搜尋字,則這個選項很有幫助。 下表說明可能的值。
| 值 | 描述 |
|---|---|
| 0 (預設值) | 雜訊詞(或停用字詞)不會轉換。 當全文檢索查詢包含非搜尋字時,此查詢會傳回零個資料列,而且 SQL Server 會引發警告。 注意: 警告是運行時間警告。 因此,如果未執行查詢中的完整文字子句,就不會引發警告。 若為本機查詢,只會引發一則警告,即使有多個全文檢索查詢子句也一樣。 若為遠端查詢,連結的伺服器可能不會轉送錯誤。因此,可能不會引發此警告。 |
| 1 | 轉換非搜尋字 (或停用字詞)。 系統會忽略這些查詢,並評估其餘查詢。 如果非搜尋字是在相近詞彙中指定的,SQL Server 會將其移除。 例如,非搜尋字 is 會從 CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)')中移除,將搜尋查詢轉換為 CONTAINS(<column_name>, 'NEAR(hello,goodbye)')。
注意:CONTAINS(<column_name>, 'NEAR(hello,is)') 會被簡化為 CONTAINS(<column_name>, hello),因為只有一個有效的搜尋字詞。 |
轉換噪音詞設定的效果
本節說明包含雜訊詞的查詢在the替代設定下的行為。 假設範例全文檢索查詢字串會針對包含下列數據的數據表數據列執行: [1, "The black cat"]。
注意
所有的這類案例都可以產生非搜尋字警告。
轉換非搜尋字設為 0:
查詢字串 結果 cat和the沒有結果( the和cat的行為相同。)cat近the沒有結果( theNEARcat的行為相同)。the且非black搜尋支援 black且非the搜尋支援 轉換非搜尋字設為 1:
查詢字串 結果 cat和the識別碼為 1 之資料列的叫用 cat近the識別碼為 1 之資料列的叫用 the且非black搜尋支援 black且非the識別碼為 1 之資料列的叫用
範例
下列範例會設定 transform noise words 為 1。
EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXECUTE sp_configure 'transform noise words', 1;
RECONFIGURE;
GO