

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

# 2. 通过来源构建
<a name="build-from-source"></a>

如前所述，从源头构建是一种无需从当前 Elasticsearch 或 OpenSearch 环境迁移数据的方法。相反，您可以直接从您的日志、产品目录数据来源或内容来源在目标域中构建索引。

有两个选项可用于从源构建。您选择的选项取决于您的数据类型：
+ 使用 AWS Database Migration Service — 如果您的数据源是关系数据库管理系统 (RDBMS)，并且数据源受 AWS Database Migration Service (AWS DMS) 支持，则可以使用 AWS DMS 将数据从您的数据源复制到目标亚马逊服务域。 OpenSearch AWS DMS 支持完全加载和更改数据捕获（CDC）选项。在满载选项中，AWS DMS 任务将源数据库表中的所有数据复制到目标 OpenSearch 索引。您可以使用默认映射或提供自定义映射配置。在 CDC 选项中，AWS DMS 首先将源表记录的完整副本复制到目标 OpenSearch 索引中。然后，它捕获更改的数据（更新和插入）并将其复制到 OpenSearch索引中。有关更多信息，请参阅博客文章 [Introducing Amazon Elasticsearch Service as a target in AWS Database Migration Service](https://aws.amazon.com/blogs/database/introducing-amazon-elasticsearch-service-as-a-target-in-aws-database-migration-service/) 和 [Scale Amazon Elasticsearch Service for AWS Database Migration Service migrations](https://aws.amazon.com/blogs/database/scale-amazon-elasticsearch-service-for-aws-database-migration-service-migrations/)。
+ 通过文档来源构建：如果您的数据来源不是 RDBMS 或不受 AWS DMS 支持，您可能需要使用开源工具或开源工具和 AWS 服务的组合来创建自定义解决方案。必须先将源数据转换为 JSON 文档，然后才能将其加载进去 OpenSearch。如果您已经设置了从源到当前 Elasticsearch 或 OpenSearch 环境的管道，则可以将这些数据管道指向这些数据管道，并对客户端库 OpenSearch 进行适当的更改，以及（如果需要）在 Amazon S OpenSearch ervice 域中的索引中更改数据模型。通过来源构建索引时，请记住以下注意事项：
  + 文档的位置：这些文档可能已经存在于 AWS 云、Amazon S3 等对象存储中，或者可能存储在本地存储位置（例如文件系统）中。
  + 文档的格式 — 文档可能已经采用 JSON 格式，可以随时收录到亚马逊 OpenSearch服务域中，或者可能需要清理、处理并格式化为 JSON，然后才能将其提取到亚马逊 OpenSearch 服务域中。

通过来源构建包含以下概要步骤：

1. 在 Amazon OpenSearch 服务域中定义索引映射和设置。

1. 从文档来源中提取数据并将其复制到对象存储位置，例如 Amazon S3。您可以使用开源工具（例如 Logstash）、AWS 服务客户端（例如 Amazon Kinesis 代理）、第三方商业工具或自定义程序。

1. 配置开源工具（例如 Logstash 或 Fluent Bit）或原生 AWS 服务（例如 AWS Lambda 或 AWS DMS），将数据转换为 JSON 文档，然后定期或连续地将其从对象存储加载到亚马逊服务域。 OpenSearch 

有关更多信息，请参阅将[流数据加载到 Amazon OpenSearch 服务](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/integrations.html)。