

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 查詢語法
<a name="query-syntax"></a>

可以在機群索引中使用查詢語法來指定查詢。

## 支援的功能
<a name="supported-query-syntax"></a>

查詢語法支援以下功能：
+ 詞彙和字詞
+ 搜尋欄位
+ 字首搜尋
+ 範圍搜尋
+ 布林運算子 `AND`、`OR`、`NOT` 及 `–`。連字號是用於從搜尋結果排除某些項目 (例如，`thingName:(tv* AND -plasma)`)。
+ 分組
+ 欄位分組
+ 逸出特殊字元 (如同以 *\$1*)
+ 前置萬用字元使用限制為每個查詢 1 個查詢詞彙。例如，您無法在相同的查詢`thingGroupNames:*echo`中搜尋 `thingName:*my`和 。包含前置萬用字元的查詢，查詢長度上限為 100 個字元。
**注意**  
 使用前置萬用字元查詢詞彙時，機群索引查詢 API 限制超過每秒 30 個請求的帳戶會受到限流限制。此requests-per-second的限制適用於所有機群索引查詢 APIs 的帳戶層級。

## 不支援的功能
<a name="unsupported-query-syntax"></a>

查詢語法不支援以下功能：
+ 常規表達式
+ 提升
+ 排名
+ 模糊搜尋
+ 鄰近搜尋
+ 排序
+ 聚合
+ 特殊字元：```、`@`、`#`、`%`、`\`、`/`、`'`、`;`、和 `,`。請注意， `,`僅支援地理查詢。

## 備註
<a name="query-syntax-limitations"></a>

查詢語言的幾件注意事項：
+ 預設運算子為 AND。對 `"thingName:abc thingType:xyz"` 的查詢等同於 `"thingName:abc AND thingType:xyz"`。
+ 如果未指定欄位， AWS IoT 則會在所有登錄檔、Device Shadow 和 Device Defender 欄位中搜尋該詞彙。
+ 所有欄位名稱皆會區分大小寫。
+ 搜尋不區分大小寫。文字以 Java `Character.isWhitespace(int)` 定義的空白字元分隔。
+ Device Shadow 資料 (未命名的影子和已命名的影子) 的索引包含已呈報、所需、差量和中繼資料部分。
+ 無法搜尋裝置影子和登錄檔版本，但回應中會顯示這些資訊。
+ 一條查詢的詞彙數量上限為 12。
+ `,` 僅在地理查詢中支援特殊字元。