既存の Neptune データベースでフルテキスト検索を有効にする - Amazon Neptune

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

既存の Neptune データベースでフルテキスト検索を有効にする

書き込みワークロードを一時停止できる場合

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

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

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

  2. データベースのストリームを有効にします (「Neptune ストリームの有効化」を参照)。

  3. データベースのクローンを作成します (「Neptune でのデータベースクローニング」を参照)。

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

  5. github export-neptune-to-elasticsearchのツールを使用して、クローニングされたデータベースからドメインへの 1 回限りの同期を実行します。 OpenSearch

  6. リージョン用のAWS CloudFormation テンプレートを使用して、元のデータベースから同期して継続的な更新を行います (テンプレートで設定を変更する必要はありません)。

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

書き込みワークロードを一時停止できない場合

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

  1. データベースのストリームを有効にします (「Neptune ストリームの有効化」を参照)。

  2. データベースのクローンを作成します (「Neptune でのデータベースクローニング」を参照)。

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

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

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

  4. github export-neptune-to-elasticsearchのツールを使用して、クローニングされたデータベースからドメインへの 1 回限りの同期を実行します。 OpenSearch

  5. リージョン用のAWS CloudFormation テンプレートを使用して、元のデータベースから同期して継続的な更新を行います。

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

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