在現有的 Neptune 資料庫上啟用全文檢索搜尋 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在現有的 Neptune 資料庫上啟用全文檢索搜尋

如果您可以暫停寫入工作負載

在現有的 Neptune 資料庫上啟用全文檢索搜尋的最佳方式通常如下,前提是您可以暫停寫入工作負載。它需要建立一個複製、使用叢集參數啟用串流,並重新啟動所有執行個體。建立複製是一項相對較快的操作,因此所需的停機時間會受到限制。

必要的步驟如下:

  1. 停止資料庫上的所有寫入工作負載。

  2. 在資料庫上啟用串流 (請參閱啟用 Neptune 串流)。

  3. 建立資料庫的複製 (請參閱 Neptune 中的資料庫複製)。

  4. 繼續寫入工作負載。

  5. 使用 github 上的export-neptune-to-elasticsearch工具,從複製的資料庫到 OpenSearch網域執行一次性同步。

  6. 使用適用於您區域的AWS CloudFormation 範本,以持續更新的方式從原始資料庫開始同步 (範本中不需要變更任何組態)。

  7. 刪除複製的資料庫和為export-neptune-to-elasticsearch工具建立的 AWS CloudFormation 堆疊。

如果您無法暫停寫入工作負載

如果您負擔不起在資料庫上暫停寫入工作負載,以下是所需停機時間甚至比上述建議方法還要少的方法,但需要謹慎完成:

  1. 在資料庫上啟用串流 (請參閱啟用 Neptune 串流)。

  2. 建立資料庫的複製 (請參閱 Neptune 中的資料庫複製)。

  3. 針對串流 API 端點執行此類命令,以取得所複製資料庫上串流的最新 eventID (如需詳細資訊,請參閱呼叫 Neptune 串流 REST API):

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

    記下回應中 lastEventId 物件中 commitNumopNum 欄位中的值。

  4. 使用 github 上的export-neptune-to-elasticsearch工具,從複製的資料庫到 OpenSearch網域執行一次性同步。

  5. 使用適用於您區域的AWS CloudFormation 範本,以持續更新的方式從原始資料庫開始同步。

    在建立堆疊時進行下列變更:在堆疊詳細資訊頁面的參數區段中,使用您在上面記錄的 commitNumopNum 值,將 StartingCheckpoint 欄位的值設為 commitNum:opnum

  6. 刪除複製的資料庫和為export-neptune-to-elasticsearch工具建立的 AWS CloudFormation 堆疊。