Skip to content

Comparison and Tradeoffs

AOSC is one option for index migration. It is not a replacement for every OpenSearch migration mechanism.

Comparison

NeedCommon OptionNotes
Add a compatible mapping fieldOpenSearch mapping updateOften no migration is needed.
Copy a small or offline index_reindexSimpler operationally when write reconciliation is not needed.
Change shard count onlySplit/shrink where applicableNative operations may be better when their constraints fit.
Transform documents in the same cluster while source stays liveAOSC or custom pipelineAOSC handles backfill, replay, and alias cutover.
Cross-cluster movementRemote reindex, snapshot/restore, CCR, or custom replicationAOSC is same-cluster only.

AOSC vs _reindex

_reindex is simpler and well-known. It is a good default when the source can be made quiet or when you have a separate reconciliation path for writes that occur during reindex.

AOSC adds operation-history replay and coordinated cutover for live same-cluster migrations, at the cost of installing a plugin and accepting AOSC's routing, transform, and cutover constraints.

AOSC vs Split/Shrink

Split and shrink are native operations for specific shard-count changes. They have their own constraints and do not solve document reshaping. Use them when the change fits the native operation and you do not need AOSC's replay workflow.

AOSC vs Manual Reindex and Alias Swap

A manual workflow gives you full control but requires you to design backfill, replay/reconciliation, validation, retry behavior, and rollback. AOSC packages those steps into the plugin, but only for supported same-cluster use cases.

When AOSC Is a Reasonable Fit

  • The source must continue receiving writes during most of the migration.
  • The target index needs different mappings, settings, shard count, or transformed source documents.
  • The application writes through an alias and retries write-block rejections.
  • The migration is same-cluster.
  • You can test the transform and routing behavior before migration.

When to Avoid AOSC

  • The source can be stopped and _reindex is enough.
  • The migration is cross-cluster.
  • Alias-based cutover is not possible.
  • Custom routing plus shard changes cannot be validated safely.
  • You need a full dry-run mode or formal metrics export.

Released under the Apache 2.0 License.