So it sounds like Orchard is using Lucene to create a local index per each Web Instance? Just wanted to clarify that. So, if I spin up 2 instances (which I am about to launch), Orchard attaches a writable Azure drive (from the local web instance
file system) and creates the full index - per Instance?
Yeah, some form of single implementation needs to happen.
Lucene has the limitation that only 1 Indexer Engine can have write-access to an index at a time. Meaning, a pool of Lucene Indexers will not scale in Azure.
Azure has the limitation that the CloudDrive can only be mounted as Writable by 1 Web/Worker Role instance at a time, and all others can only have Read access.
This is how I have set Lucene up in Azure in the past, but as you can see it doesn't scale well. I ended up having to split the indexes up into multiple smaller indexes to keep the performance up.
I also setup Solr in Azure in a test bed. Though, Solr is only Tomcat/Apache, and Solr still has the same limitation of Lucene that only 1 Web/Worker role instance can have open write access to the underlying Lucene index.
I may take a stab at this, to see if there has been any updates on the Solr/Lucene front in the past 2 years (since I last used them).