We need to support multiple elasticsearch clusters. Especially when migrating between datacenters.
I think this means simply having a list of elasticsearch URLs configurable in phabricator. Also, look into the possibility of using phabricator's clustering code to track the status (availability) of each search backend and automatically stop sending queries to one that is offline / resume when it becomes available again.