

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 既存の Neptune データベースでフルテキスト検索を有効にする
<a name="full-text-search-cfn-enabling"></a>

 これらは、既存の Amazon Neptune データベースでフルテキスト検索を有効にする確立されたアプローチです。書き込みワークロードを一時停止できるかどうかによって、ステップは若干異なる場合があります。このガイドでは、書き込みを一時停止できる場合と停止できない場合の両方のシナリオで推奨される手順の概要を説明します。Neptune ストリームの有効化、データベースクローンの作成、OpenSearch ドメインへのデータの同期、継続的な更新の設定について説明しています。このガイダンスでは、 AWS サービスとオープンソースツールを活用してプロセスを合理化し、ダウンタイムを最小限に抑えます。

## 書き込みワークロードを一時停止できる場合
<a name="full-text-search-cfn-enabling-with-pause"></a>

既存の Neptune データベースでフルテキスト検索を有効にする最良の方法は、書き込みワークロードを一時停止できれば、一般的に次の方法です。クローンを作成し、クラスターパラメータを使用してストリームを有効にし、すべてのインスタンスを再起動する必要があります。クローンの作成は比較的速いので、必要なダウンタイムは限られています。

必要な手順は次のとおりです。

1. データベース上のすべての書き込みワークロードを停止します。

1. データベースのストリームを有効にします (「[Neptune ストリームの有効化](streams-using-enabling.md)」を参照)。

1. データベースのクローンを作成します (「[Neptune でのデータベースクローニング](manage-console-cloning.md)」を参照)。

1. 書き込みワークロードを再開します。

1. github の [export-neptune-to-elasticsearch](https://github.com/awslabs/amazon-neptune-tools/tree/master/export-neptune-to-elasticsearch) ツールを使用して、クローンされたデータベースから OpenSearch ドメインへの 1 回限りの同期を実行します。

1. [リージョン用のCloudFormation テンプレート](https://docs.aws.amazon.com/neptune/latest/userguide/full-text-search-cfn-create.html#full-text-search-cfn-by-region)を使用して、元のデータベースから同期して継続的な更新を行います (テンプレートで設定を変更する必要はありません)。

1. クローンされたデータベースと`export-neptune-to-elasticsearch`ツール用に作成された CloudFormation スタックを削除します。

**注記**  
Opensearch Serverless で [export-neptune-to-elasticsearch](https://github.com/awslabs/amazon-neptune-tools/tree/master/export-neptune-to-elasticsearch) を使用する場合は、[export-neptune-to-elasticsearch](https://github.com/awslabs/amazon-neptune-tools/tree/master/export-neptune-to-elasticsearch) Cloudformation スタックによって`LambdaExecutionRole`作成された を [Opensearch データアクセスポリシー](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html)に追加して、データを正常にレプリケートする必要があります。

## 書き込みワークロードを一時停止できない場合
<a name="full-text-search-cfn-enabling-without-pause"></a>

データベースで書き込みワークロードを中断する余裕がない場合は、上記の推奨アプローチよりも少ないダウンタイムを必要とするアプローチを以下に示します。ただし、慎重に実行する必要があります。

1. データベースのストリームを有効にします (「[Neptune ストリームの有効化](streams-using-enabling.md)」を参照)。

1. データベースのクローンを作成します (「[Neptune でのデータベースクローニング](manage-console-cloning.md)」を参照)。

1. Streams API エンドポイントに対してこの種のコマンドを実行することによって、クローンされたデータベース上のストリームの最新の `eventID` を取得します (詳細については、「[Neptune Streams REST API の呼び出し](streams-using-api-call.md)」を参照)。

   ```
   curl "https://(your neptune endpoint):(port)/(propertygraph or sparql)/stream?iteratorType=LATEST"
   ```

   レスポンス内の `lastEventId` オブジェクト内の `commitNum` および `opNum` フィールドの値を書き留めておきます。

1. github の [export-neptune-to-elasticsearch](https://github.com/awslabs/amazon-neptune-tools/tree/master/export-neptune-to-elasticsearch) ツールを使用して、クローンされたデータベースから OpenSearch ドメインへの 1 回限りの同期を実行します。

1. [リージョン用のCloudFormation テンプレート](https://docs.aws.amazon.com/neptune/latest/userguide/full-text-search-cfn-create.html#full-text-search-cfn-by-region)を使用して、元のデータベースから同期して継続的な更新を行います。

   スタックの作成時に次の変更を行います。スタックの詳細ページの **Parameters** セクションで、上記で記録した `commitNum` および `opNum` の値を使用して、`StartingCheckpoint` フィールドの値を **commitNum**:**opnum** に設定します。

1. クローンされたデータベースと`export-neptune-to-elasticsearch`ツール用に作成された CloudFormation スタックを削除します。