Since we use
EmbeddedSolrServer how do we handle clustering? One instance
per wiki instance? How
do they reconcile their
indexes? Need an architecture diagram for our
solution for heavy loads.
May be you can use an embedded Infinispan
<http://www.jboss.org/infinispan/> (in
replication mode ) to store the index and do the clustering.
That's a cute solution but I/O is really a strong point of SOLR and using a
distributed storage is likely to be a performance issue.
SOLR has replication, it actually started as a replicator for Lucene.
So my best suggestion (and what we intend to do in Curriki) is that clustering must be
complemented by externalizing the solr using the remote client of SolrJ.
Savitha, can you confirm this is possible?
Then, if more scalability is desired, you'd want to start more SOLR slaves.
The way SOLR does replication, and updates, is fundamentally different than XWiki.
SOLR works with a master-and-slave approach and does take some time to update; in exchange
it caches extremely eagerly.
Paul