Hi Pavan,
Hibernate Search supports multiple alternatives for such a design, but choosing the right one will need a more detailed analysis.
One option is to use the master/slave approach described here:
-
https://docs.jboss.org/hibernate/stable ... #_back_endFor the backend of this solution you can use either JGroups or JMS queues. Both are very flexible so you should be able to configure them for reliable cross-datacenter replication.
You can also use Infinispan to store the index. Infinispan is a distributed data grid with support for multi-data center replication. The Infinispan team maintains a module to store Hibernate Search indexes in it.
Another option is to use the new Elasticsearch integration. This is an experimental new feature of the latest versions (it's available in version 5.6, 5.7 and 5.8) and supports delegating both index state and query operations to an Elasticsearch cluster.
HTH
Sanne