Hi,
We are B2B that maintain one index per each one of our customers.
Every index is being indexed every day from scratch and once it is ready, it replace the previous day index.
Once the index is ready, it's in read-only mode - used for search only.
For a better isolation, we are using two "zones" for data nodes: work zone (where shards are being indexed) and serve zone, where indices are ready for serving.
We achieve that by setting: node.attr.zone
and cluster.routing.allocation.awareness.attributes: zone
.
After each index becomes ready, we relocate it's shard to the serve zone and adding more replicas.
Now, as part of our cluster upgrade (major Elastic version, latest) we consider to break this architecture in to two different clusters: work-cluster and serve-cluster.
We saw that there's a cross cluster replication feature in Elasticsearch, but in our case we don't need that leader/follower pattern because we just want to move the shards to the serve cluster without saving traces in the work cluster (because there won't be any additional writes).
Is there a way to relocate index's shards between clusters? if there is, what's the pros/cons compared to the original approach? what would you recommend?
thanks!