

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 教程：Amazon OpenSearch 无服务器入门
<a name="serverless-getting-started"></a>

本教程将引导您完成快速启动并运行 Amazon OpenSearch Serverless *搜索*集合的基本步骤。搜索集合可为内部网络应用程序和面向 Internet 的应用程序（例如，电子商务网站搜索和内容搜索）提供支持。

要了解如何使用*向量搜索*集合，请参阅 [使用向量搜索集合](serverless-vector-search.md)。有关使用集合的更多详细信息，请参阅[管理 Amazon OpenSearch 无服务器馆藏](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`，则对于非 ASCII 字符，输入 CloudWatch 指标将转换为网址编码格式。`IndexName`

## 步骤 1：配置权限
<a name="serverless-gsg-permissions"></a>

要完成本教程并全面使用 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 无服务器 IAM 权限的更多信息，请参阅[适用于 Amazon OpenSearch Serverless 的身份和访问管理](security-iam-serverless.md)。

## 步骤 2：创建集合
<a name="serverless-gsg-create"></a>

集合是一组 OpenSearch 索引，它们协同工作以支持特定的工作负载或用例。

**创建 OpenSearch 无服务器集合**

1. 在[https://console.aws.amazon.com/aos/家](https://console.aws.amazon.com/aos/home )中打开亚马逊 OpenSearch 服务控制台。

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 拥有的密钥**。这是 OpenSearch Serv AWS KMS key erless用来加密你的数据的。

1. 在 **Network**（网络）下，配置集合的网络设置。
   + 对于访问权限类型，选择 **Public**（公共）。
   + 对于资源类型，请同时选择 “**启用对 OpenSearch 端点的访问” 和 “启用对 OpenSearch ****仪表板的访问**”。由于您将使用 OpenSearch 仪表板上传和搜索数据，因此需要同时启用两者。

1. 选择**下一步**。

1. 在 **Configure data access**（配置数据访问权限）中设置集合的访问设置。[数据访问策略](serverless-data-access.md)允许用户和角色访问集合中的数据。在本教程中，我们将为单个用户提供索引和搜索 *movies*（电影）集合中的数据所需的权限。

   创建一条规则，提供针对*影片*集合的访问权限。将该规则命名为 **Movies collection access**（电影集合访问权限）。

1. 选择**添加委托人**、**IAM 用户和角色**，然后选择您将用于登录 OpenSearch 控制面板和索引数据的用户或角色。选择**保存**。

1. 在 **Index permissions**（索引权限）下，选择所有权限。

1. 选择**下一步**。

1. 在访问策略设置中，选择 **Create a new data access policy**（创建新的数据访问策略）并将策略命名为 **movies**（影片）。

1. 选择**下一步**。

1. 查看集合设置并选择 **提交**。稍等几分钟，等集合状态变为 `Active`。

## 步骤 3：上传并搜索数据
<a name="serverless-gsg-index"></a>

您可以使用 P [ostm](https://www.postman.com/downloads/) an 或 curl 将数据上传到 OpenSearch 无服务器集合。为简洁起见，这些示例使用 OpenSearch 仪表板控制台中的**开发工具**。

**索引和搜索“movies”（电影）集合中的数据**

1. 选择左侧导航窗格中的 **Collections**（集合），然后选择 **movies**（电影）集合，以打开其详细信息页面。

1. 为该集合选择 OpenSearch 仪表板 URL。该 URL 采用 `https://dashboards.{region}.aoss.amazonaws.com/_login/?collectionId={collection-id}` 格式。

1. 在 “ OpenSearch 控制面板” 中，打开左侧导航窗格并选择 “**开发工具**”。

1. 要创建名为 *movies-index* 的单个索引，请发送以下请求：

   ```
   PUT movies-index 
   ```  
![\[OpenSearch Dashboards console showing PUT request for movies-index with JSON response.\]](http://docs.aws.amazon.com/zh_cn/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 仪表板中搜索数据，您需要配置至少一种索引模式。 OpenSearch 使用这些模式来确定要分析的索引。打开左侧导航窗格，选择 **Stack Management**（堆栈管理），选择 **Index Patterns**（索引模式），然后选择 **Create index pattern**（创建索引模式）。在本教程中，请输入 *movies*。

1. 选择**下一步**，然后选择**创建索引模式**。创建模式后，您可以查看各种文档字段，例如 `title` 和 `genre`。

1. 要开始搜索数据，请再次打开左侧导航窗格，然后选择 **Discover**（发现），或者使用 Dev Tools（开发工具）中的[搜索 API](https://opensearch.org/docs/latest/api-reference/search/)。

## 处理错误
<a name="serverless-gsg-data-plane-errors"></a>

执行索引和搜索操作时，您可能会收到以下错误响应：
+ `HTTP 507`：表示出现内部服务器错误。此错误通常表示您的 OpenSearch 计算单元 (OCUs) 因请求的数量或复杂性而过载。尽管 OpenSearch Serverless 会自动扩展以管理负载，但在部署其他资源时可能会出现延迟。

  要缓解此错误，请实施指数回退重试策略。此方法可暂时降低请求速率，从而有效管理负载。有关更多详细信息，请参阅《工具参考指南》*AWS SDKs 和《工具参考指南》*中的 “[重试行为](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html)”。
+ `HTTP 402`— 表示您已达到最大 OpenSearch 计算单位 (OCU) 容量限制。优化工作负载，以减少 OCU 使用量或请求增加限额。

## 步骤 4：删除集合
<a name="serverless-gsg-delete"></a>

由于 *movies*（电影）集合用于测试目的，因此请确保在您完成试验后将其删除。

**删除 OpenSearch 无服务器集合**

1. 返回**亚马逊 OpenSearch 服务**控制台。

1. 选择左侧导航窗格中的 **Collections**（集合），然后选择 **movies**（电影）集合。

1. 选择 **Delete（删除）**，然后确认删除。

## 后续步骤
<a name="serverless-gsg-next"></a>

现在您已知道如何创建集合和索引数据，您可能想尝试以下一些练习：
+ 查看用于创建集合的更多高级选项。有关更多信息，请参阅 [管理 Amazon OpenSearch 无服务器馆藏](serverless-manage.md)。
+ 了解如何配置安全策略以大规模管理集合安全性。有关更多信息，请参阅 [Amazon OpenSearch Serverless 中的安全概述](serverless-security.md)。
+ 发现将数据索引到集合中的其他方法。有关更多信息，请参阅 [将数据提取到 Ama OpenSearch zon 无服务器集合中](serverless-clients.md)。