適用於: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
沒有結果( the
NEARcat
的行為相同)。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