

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

# 管理 Amazon OpenSearch 无服务器馆藏
<a name="serverless-manage"></a>

Amazon OpenSearch Serverless 中的*集*合是由一个或多个代表分析工作负载的索引组成的逻辑分组。 OpenSearch Serverless 会自动管理和调整馆藏，只需最少的手动输入。

**Topics**
+ [配置集合权限](serverless-collection-permissions.md)
+ [无服务器的自动语义丰富](serverless-semantic-enrichment.md)
+ [创建集合](serverless-create.md)
+ [访问 OpenSearch 仪表板](serverless-dashboards.md)
+ [查看集合](serverless-list.md)
+ [删除集合](serverless-delete.md)

# 配置集合权限
<a name="serverless-collection-permissions"></a>

OpenSearch Serverless 使用以下 Amazon Identity and Access Management (IAM) 权限来创建和管理集合。您可以指定 IAM 条件，以将用户限制到特定集合。
+ `aoss:CreateCollection`：创建集合。
+ `aoss:ListCollections`：列出当前账户中的集合。
+ `aoss:BatchGetCollection`：获取有关一个或多个集合的详细信息。
+ `aoss:UpdateCollection`：修改集合。
+ `aoss:DeleteCollection`：删除集合。

以下基于身份的示例访问策略将为用户提供管理名为 `Logs` 的单个集合所需的最低权限：

```
[
   {
      "Sid":"Allows managing logs collections",
      "Effect":"Allow",
      "Action":[
         "aoss:CreateCollection",
         "aoss:ListCollections",
         "aoss:BatchGetCollection",
         "aoss:UpdateCollection",
         "aoss:DeleteCollection",
         "aoss:CreateAccessPolicy",
         "aoss:CreateSecurityPolicy"
      ],
      "Resource":"*",
      "Condition":{
         "StringEquals":{
            "aoss:collection":"Logs"
         }
      }
   }
]
```

之所以包括 `aoss:CreateAccessPolicy` 和 `aoss:CreateSecurityPolicy`，是因为需要加密、网络和数据访问策略才能使集合正常运行。有关更多信息，请参阅 [适用于 Amazon OpenSearch Serverless 的身份和访问管理](security-iam-serverless.md)。

**注意**  
如果您要在账户中创建第一个集合，则还需要 `iam:CreateServiceLinkedRole` 权限。有关更多信息，请参阅 [使用服务相关角色创建 OpenSearch 无服务器集合](serverless-service-linked-roles.md)。

# 无服务器的自动语义丰富
<a name="serverless-semantic-enrichment"></a>

## 简介
<a name="serverless-semantic-enrichment-intro"></a>

与词法搜索相比，自动语义丰富功能可以帮助将搜索相关性提高多达20％。自动语义丰富消除了管理自己的机器学习（机器学习）模型基础架构和与搜索引擎集成所带来的无差别繁重的工作。该功能适用于所有三种无服务器集合类型：搜索、时间序列和矢量。

## 什么是语义搜索
<a name="serverless-semantic-enrichment-whats-is"></a>

 传统搜索引擎依靠 word-to-word匹配（称为词法搜索）来查找查询结果。尽管这对于诸如电视型号之类的特定查询效果很好，但它很难进行更抽象的搜索。例如，在搜索 “沙滩鞋” 时，词汇搜索仅匹配目录商品中的单个单词 “鞋子”、“沙滩”、“for” 和 “the”，可能缺少不包含确切搜索词的相关商品，例如 “防水凉鞋” 或 “冲浪鞋”。

 语义搜索返回的查询结果不仅包含关键字匹配，还包含用户搜索意图及上下文含义。例如，如果用户搜索 “如何治疗头痛”，则语义搜索系统可能会返回以下结果：
+ 偏头痛疗法
+ 疼痛管理技术
+ Over-the-counter 止痛药 

## 型号详情和性能基准
<a name="serverless-semantic-enrichment-model-detail"></a>

 虽然此功能可以在不公开底层模型的情况下处理幕后的技术复杂性，但我们通过简短的模型描述和基准测试结果提供透明度，以帮助您就关键工作负载中的功能采用做出明智的决定。

 自动语义丰富使用服务托管、预训练的稀疏模型，无需自定义微调即可有效运行。该模型分析您指定的字段，根据从各种训练数据中学到的关联将它们扩展为稀疏向量。扩展后的术语及其显著性权重以原生 Lucene 索引格式存储，便于高效检索。我们已经使用[仅限文档模式优化了此过程，在这种模式下，](https://docs.opensearch.org/docs/latest/vector-search/ai-search/neural-sparse-with-pipelines/#step-1a-choose-the-search-mode)编码仅在数据摄取期间进行。搜索查询只是标记化，而不是通过稀疏模型进行处理，这使得该解决方案既具有成本效益又高性能。

 我们在功能开发期间的性能验证使用了 [MS MARCO](https://huggingface.co/datasets/BeIR/msmarco) 段落检索数据集，其中的段落平均为 334 个字符。在相关性评分方面，我们在英语内容的 [BEIR基准测试中测量了前 10 个搜索结果（ndcg @10）的平均标准化折扣累积收益 (NDCG)，在多语言内容的 MIR](https://github.com/beir-cellar/beir) ACL 上测量了平均ndcg @10。[我们通过客户端、第 90 个百分位 (p90) 测量值和搜索响应 p90 取值来评估延迟。](https://github.com/beir-cellar/beir)这些基准提供了搜索相关性和响应时间的基准绩效指标。以下是关键的基准数据- 
+ 英语-与词汇搜索相比，相关性提高了20％。与词法搜索相比，它还将P90的搜索延迟降低了7.7％（BM25 为26毫秒，自动语义丰富为24毫秒）。
+ 多语言-与词法搜索相比，相关性提高了105％，而P90的搜索延迟比词汇搜索增加了38.4％（为26毫秒，自动语BM25 义丰富为36毫秒）。

鉴于每种工作负载的独特性，我们鼓励您在做出实施决策之前，使用自己的基准测试标准在开发环境中评估此功能。

## 支持的语言
<a name="serverless-semantic-enrichment-languages"></a>

该功能支持英语。此外，该模型还支持阿拉伯语、孟加拉语、中文、芬兰语、法语、印地语、印度尼西亚语、日语、韩语、波斯语、俄语、西班牙语、斯瓦希里语和泰卢固语。

## 为无服务器集合设置自动语义丰富索引
<a name="serverless-semantic-enrichment-index-setup"></a>

为文本字段设置启用自动语义扩充功能的索引非常简单，而且在创建新索引期间 APIs，您可以通过控制台和 Amazon CloudFormation 模板对其进行管理。要为现有索引启用该功能，您需要在为文本字段启用自动语义丰富功能的情况下重新创建索引。

控制台体验- Amazon 控制台允许您轻松创建带有自动语义丰富字段的索引。选择集合后，您将在控制台顶部找到 “创建索引” 按钮。单击 “创建索引” 按钮后，您将找到用于定义自动语义丰富字段的选项。在一个索引中，您可以组合英语和多语言的自动语义扩充以及词汇字段。

![\[alt text not found\]](http://docs.amazonaws.cn/opensearch-service/latest/developerguide/images/ase-console-exp-serverless.png)


API 体验-要使用 Amazon 命令行界面 (Amazon CLI) 创建自动语义丰富索引，请使用 create-index 命令：

```
aws opensearchserverless create-index \
--id [collection_id] \
--index-name [index_name] \
--index-schema [index_body] \
```

 *在以下示例索引架构中，t *itle\$1semantic 字段的字段类型设置为*文本*，并将参数 semantic\$1* enrichmentic\$1enrichmentic 设置为 “已启用” *状态*。**设置 s *emantic\$1enrichmentic\$1* entrich 参数可以自动扩充标题\$1语义字段。**您可以使用 l *anguage\$1options 字段来指定*英语*或多语言*。*

```
    aws opensearchserverless create-index \
    --id XXXXXXXXX \
    --index-name 'product-catalog' \
    --index-schema '{
    "mappings": {
        "properties": {
            "product_id": {
                "type": "keyword"
            },
            "title_semantic": {
                "type": "text",
                "semantic_enrichment": {
                    "status": "ENABLED",
                    "language_options": "english"
                }
            },
            "title_non_semantic": {
                "type": "text"
            }
        }
    }
}'
```

要描述创建的索引，请使用以下命令：

```
aws opensearchserverless get-index \
--id [collection_id] \
--index-name [index_name] \
```

您还可以在集合配置期间以及创建集合之后使用 Amazon CloudFormation 模板（Type:AWS::OpenSearchServerless::CollectionIndex）来创建语义搜索。

## 数据摄取和搜索
<a name="serverless-semantic-enrichment-data-ingest"></a>

创建启用了自动语义扩充功能的索引后，该功能将在数据摄取过程中自动运行，无需进行其他配置。

数据摄取：当您将文档添加到索引中时，系统会自动：
+ 分析您为丰富语义而指定的文本字段
+ 使用 OpenSearch 服务托管稀疏模型生成语义编码
+ 将这些丰富的表示与您的原始数据一起存储

此过程使用内置 OpenSearch的 ML 连接器和采集管道，这些管道是在后台自动创建和管理的。

搜索：语义丰富数据已经编制了索引，因此查询可以高效运行，无需再次调用 ML 模型。这意味着您可以提高搜索相关性，而不会产生额外的搜索延迟开销。

## 为自动语义增强配置权限
<a name="serverless-semantic-enrichment-permissions"></a>

创建自动语义增强索引之前，您需要配置所需的权限。本节介绍所需权限及其设置方法。

### IAM 策略权限
<a name="iam-policy-permissions"></a>

使用以下 Amazon Identity and Access Management (IAM) 策略授予使用自动语义丰富所需的权限：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AutomaticSemanticEnrichmentPermissions",
            "Effect": "Allow",
            "Action": [
                "aoss:CreateIndex",
                "aoss:GetIndex",
                "aoss:UpdateIndex",
                "aoss:DeleteIndex",
                "aoss:APIAccessAll"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**密钥权限**  
+ 这些 `aoss:*Index` 权限启用索引管理
+ 该`aoss:APIAccessAll`权限允许 OpenSearch API 操作
+ 要限制对特定集合的权限，请将 `"Resource": "*"` 替换为集合的 ARN

### 配置数据访问权限
<a name="serverless-collection-permissions-data-network"></a>

要设置用于自动语义增强的索引，您必须拥有适当的数据访问策略，这些策略需授予访问索引、管道和模型集合资源的权限。有关数据访问策略的更多信息，请参阅 [Amazon OpenSearch 无服务器的数据访问控制](serverless-data-access.md)。有关配置数据访问策略的过程，请参阅 [创建数据访问策略（控制台）](serverless-data-access.md#serverless-data-access-console)。

#### 数据访问权限
<a name="serverless-collection-data-access-permissions"></a>

```
[
    {
        "Description": "Create index permission",
        "Rules": [
            {
                "ResourceType": "index",
                "Resource": ["index/collection_name/*"],
                "Permission": [
                  "aoss:CreateIndex", 
                  "aoss:DescribeIndex",
                  "aoss:UpdateIndex",
                  "aoss:DeleteIndex"
                ]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    },
    {
        "Description": "Create pipeline permission",
        "Rules": [
            {
                "ResourceType": "collection",
                "Resource": ["collection/collection_name"],
                "Permission": [
                  "aoss:CreateCollectionItems",
                  "aoss:DescribeCollectionItems"
                ]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    },
    {
        "Description": "Create model permission",
        "Rules": [
            {
                "ResourceType": "model",
                "Resource": ["model/collection_name/*"],
                "Permission": ["aoss:CreateMLResource"]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    },
]
```

#### 网络访问权限
<a name="serverless-collection-network-access-permissions"></a>

要允许服务 APIs 访问私有集合，您必须配置网络策略，允许在服务 API 和集合之间进行所需的访问。有关网络策略的更多信息，请参阅 [Amazon OpenSearch Serverless 的网络访问权限](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/serverless-network.html)。

```
[
   {
      "Description":"Enable automatic semantic enrichment in a private collection",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/collection_name"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceServices":[
         "aoss.amazonaws.com"
      ],
   }
]
```

**要配置私有集合的网络访问权限**

1. 在[https://console.aws.amazon.com/aos/家](https://console.amazonaws.cn/aos/home)中登录 OpenSearch 服务控制台。

1. 在左侧导航中，选择*网络策略*。然后，执行以下操作之一：
   + 选择现有策略名称，然后选择*编辑*
   + 选择*创建网络策略*，并配置策略详细信息

1. 在*访问权限类型*区域中，选择*私有（推荐）*，然后选择 *Amazon 服务私有访问权限*。

1. 在搜索字段中，选择*服务*，然后选择 *aoss.amazonaws.com*。

1. 在 “*资源类型*” 区域中，选中 “*启用 OpenSearch 终端节点访问权限*” 复选框。

1. 对于*搜索集合，或输入特定的前缀词*，在搜索字段中选择*集合名称*。然后输入或选择要与网络策略相关联的集合名称。

1. 针对新网络策略选择*创建*，或针对现有网络策略选择*更新*。

## 查询重写
<a name="serverless-collection-query-rewrite"></a>

自动语义丰富功能无需修改查询即可自动将现有的 “匹配” 查询转换为语义搜索查询。如果匹配查询是复合查询的一部分，则系统会遍历您的查询结构，找到匹配查询，然后将其替换为神经稀疏查询。目前，该功能仅支持替换 “匹配” 查询，无论是独立查询还是复合查询的一部分。 不支持 “多重匹配”。此外，该功能还支持所有复合查询来替换其嵌套的匹配查询。复合查询包括：bool、boosting、constant\$1score、dis\$1max、function\$1score 和混合。

## 自动语义扩充的局限性
<a name="serverless-collection-ase-limitation"></a>

当应用于包含自然语言内容 small-to-medium的大小字段（例如电影标题、产品描述、评论和摘要）时，自动语义搜索最为有效。尽管语义搜索增强了大多数用例的相关性，但它可能不是某些场景的最佳选择。在决定是否针对您的特定用例实现自动语义丰富时，请考虑以下限制。
+ 很长的文档 — 当前的稀疏模型仅处理每个文档的前 8,192 个英语标记。对于多语言文档，它是 512 个代币。对于篇幅较长的文章，可以考虑实施文档分块，以确保完整的内容处理。
+ 日志分析工作负载 — 语义丰富会显著增加索引大小，这对于通常需要精确匹配的日志分析来说可能是不必要的。额外的语义上下文很少能提高日志搜索的有效性，足以证明存储需求的增加是合理的。
+ 自动语义丰富与 “派生来源” 功能不兼容。
+ 限制 — 对于无服务器，索引推理请求的上限为 100 TPS。 OpenSearch 这是一个软限制；如需更高的限额，请联系 Su Amazon pport。

## 定价
<a name="serverless-collection-ase-pricing"></a>

 OpenSearch Serverless 会根据索引时稀疏向量生成期间消耗的 OpenSearch 计算单位 (OCUs) 自动开具语义丰富账单。您只需为编制索引期间的实际使用量付费。您可以使用 Amazon CloudWatch 指标 SemanticSearch OCU 监控此消耗量。有关模型代币限制、每个 OCU 的吞吐量以及示例计算示例的具体详细信息，请访问[ OpenSearch 服务定价](https://www.amazonaws.cn/opensearch-service/pricing/)。

# 创建集合
<a name="serverless-create"></a>

您可以使用控制台或创建无服务器集合。 Amazon CLI 这些步骤介绍如何创建*搜索*集合或*时间序列*集合。要创建*向量搜索*集合，请参阅 [使用向量搜索集合](serverless-vector-search.md)。

**Topics**
+ [创建集合（控制台）](serverless-create-console.md)
+ [创建集合（CLI）](serverless-create-cli.md)

# 创建集合（控制台）
<a name="serverless-create-console"></a>

通过 Amazon Web Services 管理控制台，使用本节中的步骤创建集合。这些步骤介绍如何创建*搜索*集合或*时间序列*集合。要创建*向量搜索*集合，请参阅 [使用向量搜索集合](serverless-vector-search.md)。

**Topics**
+ [配置集合设置](#serverless-create-console-step-2)
+ [配置其他搜索字段](#serverless-create-console-step-3)

## 配置集合设置
<a name="serverless-create-console-step-2"></a>

使用以下步骤配置有关集合的信息。

**使用控制台配置集合设置**

1. 在家中导航至 Amazon OpenSearch 服务控制台 [https://console.aws.amazon.com/aos//](https://console.amazonaws.cn/aos/home/)。

1. 展开左侧导航窗格中的 **Serverless**（无服务器），然后选择 **Collections**（集合）。

1. 选择 **Create collection**（创建集合）。

1. 为集合提供名称和描述。名称必须符合以下标准：
   + 是您的账户所独有的，并且 Amazon Web Services 区域
   + 只包含小写字母 a-z、数字 0–9 和连字符（-）
   + 包含 3 到 32 个字符

1. 选择集合类型：
   + **Time series**（时间序列）：专注于分析机器生成的大量半结构化数据的日志分析部分。至少 24 小时的数据存储在热索引中，其余数据仍保留在温存储中。
   + **Search**（搜索）：全文搜索，支持内部网络中的应用程序和面向互联网的应用程序。所有搜索数据都将存储在热存储中，以确保快速查询响应时间。
**注意**  
如果要启用自动语义搜索，请选择此选项，如 [配置集合设置](#serverless-create-console-step-2) 中所述。
   + **向量搜索** – 对简化向量数据管理的矢量嵌入进行语义搜索。支持机器学习（ML）增强搜索体验和生成式人工智能应用程序，例如聊天机器人、个人助理和欺诈检测。

   有关更多信息，请参阅 [选择集合类型](serverless-overview.md#serverless-usecase)。

1. 对于**部署类型**，选择集合的冗余设置。默认情况下，每个集合都有冗余，这意味着索引和搜索 OpenSearch Compute Units (OCUs) 在不同的可用区中都有自己的备用副本。出于开发和测试目的，您可以选择禁用冗余，这样可以将集合 OCUs 中的数量减少到两个。有关更多信息，请参阅 [工作原理](serverless-overview.md#serverless-process)。

1. 对于**安全**，选择**标准创建**。

1. 对于**加密**，请选择用于加密数据的密 Amazon KMS 钥。 OpenSearch 如果您输入的集合名称与加密策略中定义的模式匹配，Serverless 会通知您。您可以选择保留此匹配项，也可以使用唯一的加密设置将其覆盖。有关更多信息，请参阅 [Amazon OpenSearch 无服务器中的加密](serverless-encryption.md)。

1. 对于**网络访问设置**，配置集合的网络访问权限。
   + 对于**访问类型**，选择公有或私有。

     如果选择私有，指定哪些 VPC 端点和 Amazon Web Services 服务 可以访问该集合。
     + **用于访问的 VPC 端点** – 指定一个或多个可用于访问的 VPC 端点。要创建 VPC 端点，请参阅[通过以下方式访问数据平面 Amazon PrivateLink](serverless-vpc.md)。
     + **Amazon Web Services 服务 私人访问**-选择一个或多个支持的服务以允许访问。
   + 对于**资源类型**，选择用户是可以通过其*OpenSearch*端点访问集合（通过 curl、Postman 等进行 API 调用）、通过*OpenSearch 仪表板*端点（使用可视化效果并通过控制台进行 API 调用），还是两者兼而有之。
**注意**  
Amazon Web Services 服务 私有访问权限仅适用于 OpenSearch终端节点，不适用于 OpenSearch 仪表板端点。

   OpenSearch 如果您输入的集合名称与网络策略中定义的模式匹配，Serverless 会通知您。您可以选择保留此匹配项，也可以使用自定义网络设置将其覆盖。有关更多信息，请参阅 [Amazon OpenSearch Serverless 的网络访问](serverless-network.md)。

1. （可选）将一个或多个标签添加到集合。有关更多信息，请参阅 [为 Amazon OpenSearch 无服务器集合加标签](tag-collection.md)。

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

## 配置其他搜索字段
<a name="serverless-create-console-step-3"></a>

在创建集合工作流程的第二页上显示的选项取决于您正在创建的集合类型。本节介绍如何为每种集合类型配置其他搜索字段。本节还介绍如何配置自动语义增强。跳过任何不适用于集合类型的部分。

**Topics**
+ [配置自动语义增强](#serverless-create-console-step-3-semantic-enrichment-fields)
+ [配置时间序列搜索字段](#serverless-create-console-step-3-time-series-fields)
+ [配置词法搜索字段](#serverless-create-console-step-3-lexical-fields)
+ [配置向量搜索字段](#serverless-create-console-step-3-vector-search-fields)

### 配置自动语义增强
<a name="serverless-create-console-step-3-semantic-enrichment-fields"></a>

创建或编辑集合时，您可以配置自动语义扩展，从而简化 Ama OpenSearch zon Service 中的语义搜索实现和功能。语义搜索返回的查询结果不仅包含关键字匹配，还包含用户搜索意图及上下文含义。有关更多信息，请参阅 [无服务器的自动语义丰富](serverless-semantic-enrichment.md)。

**配置自动语义增强**

1. 在**索引详细信息**部分，对于**索引名称**，请指定一个名称。

1. 在**自动语义增强字段**部分中，选择**添加语义搜索字段**。

1. 在**语义增强的输入字段名称**字段中，输入要增强的字段名称。

1. **数据类型**为**文本**。无法更改此设置。

1. 对于**语言**，选择**英语**或**多语言**。

1. 选择**添加字段**。

1. 完成对集合的可选字段配置后，选择**下一步**。查看您的更改，并选择**提交**以创建集合。

### 配置时间序列搜索字段
<a name="serverless-create-console-step-3-time-series-fields"></a>

**时间序列搜索字段**部分中的选项适用于时间序列数据和数据流。有关这些主题的更多信息，请参阅 [使用数据流管理 Amazon OpenSearch 服务中的时间序列数据](data-streams.md)。

**配置时间序列搜索字段**

1. 在**时间序列搜索字段**部分，选择**添加时间序列字段**。

1. 对于**字段名称**，输入一个名称。

1. 对于**数据类型**，从列表中选择一种类型。

1. 选择**添加字段**

1. 完成对集合的可选字段配置后，选择**下一步**。查看您的更改，并选择**提交**以创建集合。

### 配置词法搜索字段
<a name="serverless-create-console-step-3-lexical-fields"></a>

词法搜索旨在寻找搜索查询与已索引的术语或关键词之间的精确匹配。

**配置词法搜索字段**

1. 在**词法搜索字段**部分中，选择**添加搜索字段**。

1. 对于**字段名称**，输入一个名称。

1. 对于**数据类型**，从列表中选择一种类型。

1. 选择**添加字段**

1. 完成对集合的可选字段配置后，选择**下一步**。查看您的更改，并选择**提交**以创建集合。

### 配置向量搜索字段
<a name="serverless-create-console-step-3-vector-search-fields"></a>

**配置向量搜索字段**

1. 在**向量字段**部分，选择**添加向量字段**。

1. 对于**字段名称**，输入一个名称。

1. 对于**引擎**，从列表中选择一种类型。

1. 输入维度数。

1. 对于**距离指标**，从列表中选择一种类型。

1. 完成对集合的可选字段配置后，选择**下一步**。

1. 查看您的更改，并选择**提交**以创建集合。

# 创建集合（CLI）
<a name="serverless-create-cli"></a>

使用本节中的过程使用创建 OpenSearch 无服务器集合。 Amazon CLI

**Topics**
+ [开始前的准备工作](#serverless-create-cli-before-you-begin)
+ [创建集合](#serverless-create-cli-creating)
+ [使用自动语义增强索引创建集合](#serverless-create-cli-automatic-semantic-enrichment)

## 开始前的准备工作
<a name="serverless-create-cli-before-you-begin"></a>

在使用创建集合之前 Amazon CLI，请按照以下步骤为该集合创建所需的策略。

**注意**  
在以下每个过程中，为集合指定名称时，该名称必须满足以下条件：  
是您的账户所独有的，并且 Amazon Web Services 区域
只包含小写字母 a-z、数字 0–9 和连字符（-）
包含 3 到 32 个字符

**为集合创建所需策略**

1. 打开 Amazon CLI 并运行以下命令来创建[加密策略](serverless-encryption.md)，其资源模式与集合的预期名称相匹配。

   ```
   &aws opensearchserverless create-security-policy \
     --name policy name \
     --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/collection name\"]}],\"AWSOwnedKey\":true}"
   ```

   例如，如果您计划将您的集合命名为 *logs-application*，则可以创建如下所示的加密策略：

   ```
   &aws opensearchserverless create-security-policy \
     --name logs-policy \
     --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AWSOwnedKey\":true}"
   ```

   如果您计划将该策略用于其他集合，则可以扩大该规则的范围，如 `collection/logs*` 或 `collection/*`。

1. 运行以下命令，以使用[网络策略](serverless-network.md)为集合配置网络设置。您可以在创建集合后创建网络策略，但我们建议您事先创建网络策略。

   ```
   &aws opensearchserverless create-security-policy \
     --name policy name \
     --type network --policy "[{\"Description\":\"description\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/collection name\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/collection name\"]}],\"AllowFromPublic\":true}]"
   ```

   使用前面的 *logs-application* 示例，您可以创建以下网络策略：

   ```
   &aws opensearchserverless create-security-policy \
     --name logs-policy \
     --type network --policy "[{\"Description\":\"Public access for logs collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/logs-application\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AllowFromPublic\":true}]"
   ```

## 创建集合
<a name="serverless-create-cli-creating"></a>

以下过程使用 [CreateCollection](https://docs.amazonaws.cn/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)API 操作创建类型为`SEARCH`或的集合`TIMESERIES`。如果您在该请求中未指定集合类型，则其默认为 `TIMESERIES`。有关这些类型的更多信息，请参阅 [选择集合类型](serverless-overview.md#serverless-usecase)。要创建*向量搜索*集合，请参阅 [使用向量搜索集合](serverless-vector-search.md)。

如果您的馆藏使用加密 Amazon 拥有的密钥，则`kmsKeyArn`为，`auto`而不是 ARN。

**重要**  
在创建集合后，除非该集合与某一数据访问策略相匹配，否则您将无法访问它。有关更多信息，请参阅 [Amazon OpenSearch 无服务器的数据访问控制](serverless-data-access.md)。

**创建集合**

1. 验证是否已创建 [开始前的准备工作](#serverless-create-cli-before-you-begin) 所述的必需策略。

1. 运行如下命令。对于 `type`，指定 `SEARCH` 或 `TIMESERIES`。

   ```
   &aws opensearchserverless create-collection --name "collection name" --type collection type --description "description"
   ```

## 使用自动语义增强索引创建集合
<a name="serverless-create-cli-automatic-semantic-enrichment"></a>

使用以下步骤创建新的 OpenSearch Serverless 集合，其索引已配置为[自动语义丰富](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/serverless-semantic-enrichment.html)。该过程使用 OpenSearch 无服务器 [CreateIndex](https://docs.amazonaws.cn/opensearch-service/latest/ServerlessAPIReference/API_CreateIndex.html)API 操作。

**使用配置为自动语义增强的索引创建新集合**

运行以下命令创建集合和索引。

```
&aws opensearchserverless create-index \
--region Region ID \
--id collection name --index-name index name \
--index-schema \
'mapping in json'
```

以下为示例。

```
&aws opensearchserverless create-index \
--region us-east-1 \
--id conversation_history --index-name conversation_history_index \
--index-schema \ 
'{
    "mappings": {
        "properties": {
            "age": {
                "type": "integer"
            },
            "name": {
                "type": "keyword"
            },
            "user_description": {
                "type": "text"
            },
            "conversation_history": {
                "type": "text",
                "semantic_enrichment": {
                    "status": "ENABLED",
                    // Specifies the sparse tokenizer for processing multi-lingual text
                    "language_option": "MULTI-LINGUAL", 
                    // If embedding_field is provided, the semantic embedding field will be set to the given name rather than original field name + "_embedding"
                    "embedding_field": "conversation_history_user_defined" 
                }
            },
            "book_title": {
                "type": "text",
                "semantic_enrichment": {
                    // No embedding_field is provided, so the semantic embedding field is set to "book_title_embedding"
                    "status": "ENABLED",
                    "language_option": "ENGLISH"
                }
            },
            "abstract": {
                "type": "text",
                "semantic_enrichment": {
                    // If no language_option is provided, it will be set to English.
                    // No embedding_field is provided, so the semantic embedding field is set to "abstract_embedding"
                    "status": "ENABLED" 
                }
            }
        }
    }
}'
```

# 访问 OpenSearch 仪表板
<a name="serverless-dashboards"></a>

使用创建收藏夹后 Amazon Web Services 管理控制台，您可以导航到该集合的 OpenSearch 仪表板网址。您可以通过选择左侧导航窗格中的**集合**，然后选择该集合以打开其详细信息页面，来查找控制面板 URL。该 URL 采用 `https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc` 格式。导航到 URL 后，将自动登录控制面板。

如果您已有 OpenSearch 仪表板 URL 可用但不在 Amazon Web Services 管理控制台，则从浏览器调用仪表板 URL 将重定向到控制台。输入 Amazon 凭据后，您将自动登录控制面板。有关访问 SAML 集合的信息，请参阅[使用 SAML 访问 OpenSearch 仪表板](serverless-saml.md#serverless-saml-dashboards)。

 OpenSearch 仪表板控制台超时为一小时，不可配置。

**注意**  
2023 年 5 月 10 日， OpenSearch 推出了 OpenSearch 仪表板的通用全局端点。现在，您可以使用采用该格式的 URL 在浏览器中导航到 OpenSearch 仪表板`https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc`。为了确保向后兼容，我们将继续使用以下格式支持现有集合特定的 OpenSearch 仪表板端点`https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards`。

# 查看集合
<a name="serverless-list"></a>

您可以在亚马逊 OpenSearch 服务控制台的 “收藏**夹**” 选项卡 Amazon Web Services 账户 上查看您的现有馆藏。

要列出收藏品及其收藏 IDs，请发送[ListCollections](https://docs.amazonaws.cn/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html)请求。

```
&aws opensearchserverless list-collections
```

**示例响应**

```
{
   "collectionSummaries":[
      {
         "arn":"arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc",
         "id":"07tjusf2h91cunochc",
         "name":"my-collection",
         "status":"CREATING"
      }
   ]
}
```

要限制搜索结果，请使用集合筛选器。此请求将筛选针对处于 `ACTIVE` 状态的集合的响应：

```
&aws opensearchserverless list-collections --collection-filters '{ "status": "ACTIVE" }'
```

要获取有关一个或多个集合（包括 OpenSearch 终端节点和 OpenSearch 仪表板端点）的更多详细信息，请发送[BatchGetCollection](https://docs.amazonaws.cn/opensearch-service/latest/ServerlessAPIReference/API_BatchGetCollection.html)请求：

```
&aws opensearchserverless batch-get-collection --ids "07tjusf2h91cunochc" "1iu5usc4rame"
```

**注意**  
您可以在该请求中包括 `--names` 或 `--ids`，但不能同时包括两者。

**示例响应**

```
{
   "collectionDetails":[
      {
         "id": "07tjusf2h91cunochc",
         "name": "my-collection",
         "status": "ACTIVE",
         "type": "SEARCH",
         "description": "",
         "arn": "arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc",
         "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
         "createdDate": 1667446262828,
         "lastModifiedDate": 1667446300769,
         "collectionEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com",
         "dashboardEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards"
      },
      {
         "id": "178ukvtg3i82dvopdid",
         "name": "another-collection",
         "status": "ACTIVE",
         "type": "TIMESERIES",
         "description": "",
         "arn": "arn:aws:aoss:us-east-1:123456789012:collection/178ukvtg3i82dvopdid",
         "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
         "createdDate": 1667446262828,
         "lastModifiedDate": 1667446300769,
         "collectionEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com",
         "dashboardEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com/_dashboards"
      }
   ],
   "collectionErrorDetails":[]
}
```

# 删除集合
<a name="serverless-delete"></a>

删除集合将删除该集合中的所有数据和索引。删除集合后，您将无法恢复它们。

**使用控制台删除集合**

1. 在 Amazon S OpenSearch ervice 控制台的 “收藏**夹**” 面板中，选择要删除的收藏夹。

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

要使用删除收藏夹 Amazon CLI，[DeleteCollection](https://docs.amazonaws.cn/opensearch-service/latest/ServerlessAPIReference/API_DeleteCollection.html)请发送请求：

```
&aws opensearchserverless delete-collection --id 07tjusf2h91cunochc
```

**示例响应**

```
{
   "deleteCollectionDetail":{
      "id":"07tjusf2h91cunochc",
      "name":"my-collection",
      "status":"DELETING"
   }
}
```