ユーザーアイコン

mizuko

2日前

0
0

OpenSearch Serverlessでの doc_as_upsert 使用の考慮事項

OpenSearch
AWS

OpenSearch Serverlessでは、refresh: falseの設定により検索インデックスへの反映が遅延する。そのため、bulk update操作でdoc_as_upsert: trueを使用することで、ドキュメントの作成直後に更新が実行される場合でも正常に処理できる。

重要なポイント:

  • OpenSearchはドキュメントの存在確認をプライマリストレージ(トランザクションログ)レベルで行う
  • 検索インデックスに未反映でも、既存ドキュメントは正しく認識され更新される
  • doc_as_upsert: trueにより、存在しない場合は作成、存在する場合は更新が保証される
  • ドキュメントの重複は発生しない

実装例:

// Serverless環境でのみdoc_as_upsertを有効化 { doc: doc, doc_as_upsert: this.isServerless() ? true : false }

この設定により、Serverless環境でのrefresh遅延問題を回避できる。