

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

# 在 Amazon OpenSearch Service 中轉換索引
<a name="transforms"></a>

雖然[索引彙總任務](rollup.md)可讓您透過將舊資料彙總為壓縮索引來減少資料精細度，但轉換任務可讓您建立以特定欄位為中心的不同摘要檢視，以便以不同的方式視覺化或分析資料。

索引轉換具有 OpenSearch Dashboards 使用者介面和 REST API。該功能需要 OpenSearch 1.0 或更高版本。

**注意**  
本文件提供索引轉換的簡短概觀，協助您在 Amazon OpenSearch Service 網域上開始使用它。如需完整文件和 REST API 參考，請參閱開放原始碼 OpenSearch 文件中的[索引轉換](https://docs.opensearch.org/latest/im-plugin/index-transforms/)。

## 建立索引轉換任務
<a name="transforms-example"></a>

如果叢集中沒有任何資料，請使用 OpenSearch Dashboards 中的範例航班資料，以嘗試轉換任務。新增資料後，啟動 OpenSearch Dashboards。然後依次選擇 **Index Management** (索引管理)、**Transform Jobs** (轉換任務) 以及 **Create Transform Job** (建立轉換任務)。

### 步驟 1：選擇索引
<a name="transforms-example-1"></a>

在 **Indices** (索引) 區段中，選取來源索引和目標索引。您可以選取現有目標索引，也可以輸入目標索引的名稱來建立新的目標索引。

如果您只想轉換來源索引的子集，請選擇 **Add Data Filter** (新增資料篩選)，並使用 OpenSearch [查詢 DSL](https://docs.opensearch.org/latest/opensearch/query-dsl/) 來指定來源索引的子集。

### 步驟 2：選擇欄位
<a name="transforms-example-2"></a>

選擇索引後，請選擇您要在轉換任務中使用的欄位，以及是否使用分組或彙總。
+ 您可以使用分組將資料放入轉換索引中的單獨儲存貯體中。例如，如果您想要對範例航班資料中的所有機場目的地進行分組，請將 `DestAirportID` 欄位分組到 `DestAirportID_terms` 欄位的目標欄位中，在轉換任務完成後，您可以在已轉換的索引中找到已分組的機場 ID。
+ 另一方面，彙總可讓您執行簡單的計算。例如，您可能會在轉換任務中包含彙總，以定義計算所有機票總和的新欄位 `sum_of_total_ticket_price`。然後，您可以分析已轉換索引中的新資料。

### 步驟 3：指定排程
<a name="transforms-example-3"></a>

轉換任務預設為啟用，並依排程執行。若要**轉換執行間隔**，請以分鐘、小時或天數來指定間隔。

### 步驟 4：檢閱和監控
<a name="transforms-example-4"></a>

檢閱您的組態，然後選取 **Create** (建立)。然後監控 **Transform job status** (轉換任務狀態) 欄。

### 步驟 5：搜尋目標索引
<a name="transforms-example-5"></a>

任務完成後，您可以使用標準 `_search` API 來搜尋目標索引。

例如，在執行根據 `DestAirportID` 欄位轉換航班資料的轉換任務後，您可以執行下列請求以傳回值為 `SFO` 的所有欄位：

```
GET target_index/_search
{
  "query": {
    "match": {
      "DestAirportID_terms" : "SFO"
    }
  }
}
```