

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

# FT.AGGREGATE
<a name="vector-search-commands-ft.aggregate"></a>

FT.SEARCH 命令的超集，允許對查詢表達式選取的索引鍵進行大量額外處理。

**語法**

```
FT.AGGREGATE index query
  [LOAD * | [count field [field ...]]]
  [TIMEOUT timeout]
  [PARAMS count name value [name value ...]]
  [FILTER expression]
  [LIMIT offset num]  
  [GROUPBY count property [property ...] [REDUCE function count arg [arg ...] [AS name] [REDUCE function count arg [arg ...] [AS name] ...]] ...]] 
  [SORTBY count [ property ASC | DESC [property ASC | DESC ...]] [MAX num]] 
  [APPLY expression AS name]
```
+ FILTER、LIMIT、GROUPBY、SORTBY 和 Apply 子句可以任意順序重複多次，並自由混合。它們會按照指定的順序套用，其中有一個子句的輸出饋送下一個子句的輸入。
+ 在上述語法中，「屬性」是在此索引的 [FT.CREATE](https://docs.aws.amazon.com/memorydb/latest/devguide/vector-search-commands-ft.create.html) 命令中宣告的欄位，或先前套用子句或 REDUCE 函數的輸出。
+ LOAD 子句僅限於載入已在索引中宣告的欄位。「LOAD \$1」將載入索引中宣告的所有欄位。
+ 支援下列減少程式函數：COUNT、COUNT\$1DISTINCTISH、SUM、MIN、MAX、AVG、STDDEV、QUANTILE、TOLIST、FIRST\$1VALUE 和 RANDOM\$1SAMPLE。如需詳細資訊，請參閱[彙總](https://redis.io/docs/interact/search-and-query/search/aggregations/)
+ LIMIT <offset> <count>：保留從 <offset> 開始並繼續最多 <count> 的記錄，會捨棄所有其他記錄。
+ PARAMS：金鑰值對數量的兩倍。可以在查詢表達式中參考參數鍵/值對。

**傳回**

傳回陣列或錯誤回覆。
+ 如果操作成功完成，則會傳回 陣列。第一個元素是沒有特定意義的整數 （應予以忽略）。其餘元素是最後一個階段的結果輸出。每個元素都是欄位名稱和值對的陣列。
+ 如果索引正在進行回填，命令會立即傳回錯誤回覆。
+ 如果達到逾時，命令會傳回錯誤回覆。