CONTAINS 述詞
CONTAINS 述詞是 WHERE 子句的一部分,並支援在文字數據行中搜尋單字和片語。 CONTAINS 述詞具有比對單字、比對單字變化形式、使用通配符搜尋,以及使用鄰近性搜尋的功能。 您也可以在 CONTAINS 述詞中套用權數,以設定找到搜尋字詞之數據行的重要性。 CONTAINS 述詞更適合完全相符專案,與 FREETEXT 述詞相反,它更適合尋找包含整個數據行中搜尋字詞組合的檔。 搜尋不區分大小寫。
以下是 CONTAINS 述詞的基本語法:
...CONTAINS(["<fulltext_column>",]'<contains_condition>'[,<LCID>])...
fulltext_column參考是選擇性的。 您可以使用它,將搜尋限制為單一數據行或測試 CONTAINS 述詞的數據行群組。 當全文檢索數據行指定為 「ALL」 或 「*」時,會搜尋所有已編製索引的文字屬性。 雖然數據行不需要是文字屬性,但如果數據行是其他數據類型,結果可能毫無意義。 數據行名稱可以是一般或分隔 標識子,而且您必須以逗號將它與條件區隔開。 如果未指定全文檢索數據行,則會使用 System.Search.Contents 數據行,也就是檔的本文。
述詞的 LCID 部分會指定搜尋地區設定。 這會指示搜尋引擎針對搜尋查詢使用適當的斷詞工具和轉折表體。 若要指定地區設定,請提供 Windows 標準語言代碼識別碼 (LCID)。 例如,1033 是美式英文的 LCID。 將 LCID 放在 CONTAINS 子句的括弧內做為最後一個專案。 如需搜尋和語言的重要資訊,請參閱使用當地語系化搜尋 。
注意
默認搜尋地區設定是系統預設的地區設定。
contains_condition部分必須以單引號括住單字或片語雙引號,並且由一或多個內容搜尋字詞所組成,這些字詞會使用邏輯運算符 AND 或 OR結合。 您可以在 AND 運算符之後,使用選擇性一元運算元 NOT 來否定內容搜尋字詞的邏輯值。
注意
NOT 運算子只能在 AND之後發生。 如果只有一個比對條件,或在 OR 運算符之後,您無法使用 NOT 運算符。
您可以使用括號來分組和巢狀內容搜尋字詞。 下表描述邏輯運算子的優先順序。
順序(優先順序) | 邏輯運算子 |
---|---|
第一(最高) | NOT |
第二 | AND |
第三(最低) | OR |
相同類型的邏輯運算符是關聯的,而且沒有指定的計算順序。 例如,(A AND B) AND (C AND D) 可以計算 (B AND C) AND (A AND D), 邏輯結果沒有變更。
下表描述內容搜尋字詞的類型。
類型 | 描述 | 例子 | |
---|---|---|---|
詞 | 沒有空格或其他標點符號的單一單字。 不需要雙引號。 |
|
|
短語 | 多個單字或內含空格。 |
|
|
通配符 | 加上星號的字詞或片語, 會新增至結尾。 如需詳細資訊,請參閱 CONTAINS 述詞 中使用通配符。 |
|
|
全文檢索數據行 | 要比對其餘查詢的屬性數據行名稱。 |
|
|
布爾 | 使用 BOolean 運算符結合的字詞、片語和通配符字串,AND、OR或 NOT。 以雙引弧括住布爾詞彙。 |
|
|
近 | 以 NEAR 函數分隔的文字、片語或通配符。 如需詳細資訊,請參閱 NEAR Term。 |
|
|
FormsOf | 比對單字和該單字的轉折版本。 如需詳細資訊,請參閱 FORMSOF 字詞。 |
|
|
IsAbout | 結合多個單字、片語或通配符搜尋字詞的比對結果。 每個搜尋字詞都可以選擇性地加權。 您可以選擇性地指定排名計算方法,此方法結合了加權和檔相符的項目數目。 如需詳細資訊,請參閱 ISABOUT 字詞。 |
|
本節包含下列主題:
- 在 CONTAINS 述詞 中使用通配符
- FORMSOF 字詞
- ISABOUT 字詞
- NEAR 字詞