

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

# 教學課程：Amazon OpenSearch Serverless 入門
教學課程：開始使用 OpenSearch Serverless

本教學課程會逐步引導您快速啟動和執行 Amazon OpenSearch Serverless *搜尋*集合的基本步驟。搜尋集合可讓您為內部網路中的應用程式和面向網際網路的應用程式提供支援，例如電子商務網站搜尋和內容搜尋。

若要了解如何使用*向量搜尋*集合，請參閱 [使用向量搜尋集合](serverless-vector-search.md)。如需使用集合的詳細資訊，請參閱本指南中的 [管理 Amazon OpenSearch Serverless 集合](serverless-manage.md)和其他主題。

在本教學課程中，您會完成下列步驟：

1. [設定許可](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-permissions)

1. [建立集合](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-create)

1. [上傳並搜尋資料](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-index)

1. [刪除集合](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-delete)
**注意**  
建議您僅針對 使用 ASCII 字元`IndexName`。如果您不將 ASCII 字元用於 `IndexName`，CloudWatch 指標`IndexName`中的 會轉換為非 ASCII 字元的 URL 編碼格式。

## 步驟 1：設定許可


若要完成本教學課程並在一般情形下使用 OpenSearch Serverless，您必須擁有正確的 IAM 許可。在本教學課程中，您將建立集合、上傳並搜尋資料，然後刪除該集合。

使用者或角色必須連接[身分型政策](security-iam-serverless.md#security-iam-serverless-id-based-policies)，該政策包含以下最低許可：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "aoss:CreateCollection",
        "aoss:ListCollections",
        "aoss:BatchGetCollection",
        "aoss:DeleteCollection",
        "aoss:CreateAccessPolicy",
        "aoss:ListAccessPolicies",
        "aoss:UpdateAccessPolicy",
        "aoss:CreateSecurityPolicy",
        "aoss:GetSecurityPolicy",
        "aoss:UpdateSecurityPolicy",
        "iam:ListUsers",
        "iam:ListRoles"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

如需有關 OpenSearch Serverless IAM 許可的詳細資訊，請參閱 [Amazon OpenSearch Serverless 的身分和存取管理](security-iam-serverless.md)。

## 步驟 2：建立集合


集合是一組 OpenSearch 索引，可共同運作以支援特定工作負載或使用案例。

**建立 OpenSearch Serverless 集合**

1. 開啟位於 https：//[https://console.aws.amazon.com/aos/home](https://console.aws.amazon.com/aos/home ) 的 Amazon OpenSearch Service 主控台。

1. 在左側導覽窗格中選擇 **Collections** (集合)，然後選擇 **Create collection** (建立集合)。

1. 將集合命名為 **movies**。

1. 對於集合類型，選擇 **Search** (搜尋)。如需詳細資訊，請參閱[選擇集合類型](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-usecase)。

1. 針對**安全性**，選擇**標準建立**。

1. 在**加密**下，選取**使用 AWS 擁有的金鑰**。這是 AWS KMS key OpenSearch Serverless 用來加密資料的 。

1. 在 **Network** (網路) 下，設定集合的網路設定。
   + 對於存取類型，選取 **Public** (公用)。
   + 針對 資源類型，選擇**啟用對 OpenSearch 端點的存取**和**啟用對 OpenSearch Dashboards 的存取**。您將使用 OpenSearch Dashboards 上傳並搜尋資料，因此您需同時啟用兩者。

1. 選擇**下一步**。

1. 對於 **Configure data access** (設定資料存取)，請設定集合的存取設定。[資料存取政策](serverless-data-access.md)讓使用者和角色可以存取集合中的資料。在本教學課程中，我們將為單一使用者提供為 *movies* 集合中資料編製索引和進行搜尋所需的許可。

   建立可存取 *movies* 集合的單一規則。將規則命名為 **Movies collection access** (電影集合存取)。

1. 選擇 **Add principals** (新增主體)、**IAM users and roles** (IAM 使用者和角色)，然後選取您將用來登入 OpenSearch Dashboards，並為資料編制索引的使用者或角色。選擇**儲存**。

1. 在 **Index permissions** (索引許可) 下，選取所有許可。

1. 選擇**下一步**。

1. 對於存取政策設定，請選擇 **Create a new data access policy** (建立新的資料存取政策) 並命名政策 **movies**。

1. 選擇**下一步**。

1. 檢閱集合設定，然後選擇 **Submit** (提交)。等待幾分鐘，讓收集狀態變成 `Active`。

## 步驟 3：上傳並搜尋資料


您可以使用 [Postman](https://www.postman.com/downloads/) 或 cURL 將資料上傳至 OpenSearch Serverless 集合。為了簡潔起見，這些範例使用 OpenSearch Dashboards 主控台中的 **Dev Tools** (開發工具)。

**為 movies 集合中的資料編製索引和進行搜尋**

1. 在左側導覽窗格中選擇 **Collections** (集合)，然後選擇 **movies** 集合以開啟其詳細資訊頁面。

1. 選擇集合的 OpenSearch Dashboards URL。URL 採用的格式為 `https://dashboards.{region}.aoss.amazonaws.com/_login/?collectionId={collection-id}`。

1. 在 OpenSearch Dashboards 中，開啟左側導覽窗格，然後選擇 **Dev Tools** (開發工具)。

1. 若要建立名為 *movies-index* 的單一索引，請傳送以下請求：

   ```
   PUT movies-index 
   ```  
![\[OpenSearch Dashboards console showing PUT request for movies-index with JSON response.\]](http://docs.aws.amazon.com/zh_tw/opensearch-service/latest/developerguide/images/serverless-gsg-create.png)

1. 若要將單一文件的索引編製為 *movies-index*，請傳送以下請求：

   ```
   PUT movies-index/_doc/1
   { 
     "title": "Shawshank Redemption",
     "genre": "Drama",
     "year": 1994
   }
   ```

1. 若要在 OpenSearch Dashboards 中搜尋資料，您需要設定至少一個索引模式。OpenSearch 使用這些模式來識別您要分析的索引。開啟左側導覽窗格，依序選擇 **Stack Management** (堆疊管理)、**Index Patterns** (索引模式)，然後選擇 **Create index pattern** (建立索引模式)。對於本教學課程，輸入 *movies*。

1. 選擇 **Next step** (下一步)，然後選擇 **Create index pattern** (建立索引模式)。建立模式之後，您可以檢視各種文件欄位，例如 `title` 和 `genre`。

1. 若要開始搜尋資料，請再次開啟左側導覽窗格，然後選擇 **Discover** (探索)，或使用開發工具中的[搜尋 API](https://opensearch.org/docs/latest/api-reference/search/)。

## 處理錯誤


執行索引和搜尋操作時，您可能會收到下列錯誤回應：
+ `HTTP 507` – 表示發生內部伺服器錯誤。此錯誤通常表示 OpenSearch 運算單位 OCUs) 因請求的磁碟區或複雜性而超載。雖然 OpenSearch Serverless 會自動擴展以管理負載，但部署其他資源可能會延遲。

  若要緩解此錯誤，請實作指數退避重試政策。此方法會暫時降低請求率，以有效管理負載。如需詳細資訊，請參閱 SDK *AWS SDKs 和工具參考指南*中的[重試行為](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html)。
+ `HTTP 402` – 表示您已達到 OpenSearch 運算單位 (OCU) 容量上限。最佳化工作負載以減少 OCU 用量或請求增加配額。

## 步驟 4：刪除集合


*movies* 集合用於測試目的，因此請確保在完成實驗後將其刪除。

**刪除 OpenSearch Serverless 集合**

1. 返回 **Amazon OpenSearch Service** 主控台。

1. 在左側導覽窗格中選擇 **Collections** (集合)，然後選擇 **movies** 集合。

1. 選擇 **Delete** (刪除)，並確認刪除。

## 後續步驟


您現在已知道如何建立集合並為資料編製索引，您可能想要嘗試以下一些練習：
+ 查看用於建立集合的更多進階選項。如需詳細資訊，請參閱[管理 Amazon OpenSearch Serverless 集合](serverless-manage.md)。
+ 了解如何設定安全政策以大規模管理集合安全性。如需詳細資訊，請參閱[Amazon OpenSearch Serverless 的安全概觀](serverless-security.md)。
+ 探索將資料的索引編製為集合的其他方法。如需詳細資訊，請參閱[將資料擷取至 Amazon OpenSearch Serverless 集合](serverless-clients.md)。