Both options can be used to keep the two search indexes in sync with minimum latency depending on your requirements. However, for multi-region redundancy, Microsoft recommends using multiple services with search indexes in different regions, where a user is routed to the Azure Cognitive Search service that provides the lowest latency [1].
You can implement this architecture by creating multiple services and designing a strategy for data synchronization. You can synchronize the data across multiple services either by pulling content updates into a search index by using an indexer or pushing content into an index using REST APIs [2]. If you use indexers to synchronize data, you can have multiple indexers pulling from the same data source where each indexer targets a different search index in each region [3].
Microsoft doesn't provide an automated method of replicating search indexes across geographic regions. Instead, it recommends using multiple services with indexers and search indexes in different regions to ensure redundancy across all services. So, it is recommended to use separate indexers to update each search index if you are using multiple services with search indexes in different regions for disaster recovery purposes [1].
References:
- Reliability in Azure Cognitive Search, https://learn.microsoft.com/en-us/azure/search/search-reliability#multiple-services-in-separate-geographic-regions
- Index large data sets in Azure Cognitive Search, https://learn.microsoft.com/en-us/azure/search/search-howto-large-index#index-with-indexers-and-the-pull-apis
- Indexers in Azure Cognitive Search, https://learn.microsoft.com/en-us/azure/search/search-indexer-overview#indexer-scenarios-and-use-cases