Here is a quick story with a lesson learnt: One of our clients was running Tridion 2011SP1 and installed Solr 4.8.1, and asked us to configure SI4T. We banged our heads against this thing until major head trauma occurred. The outcome was not successful. The lesson learnt is that Tridion 2011SP1 is compatible up to Solr 4.7 only. Starting with Solr 4.8 you’ll need to be running Tridion 2013 +. Read on for details…
We played around with various Solr jar files and have gotten through several Deployer issues (including jar version conflicts) taking us all the way to the final, Commit, stage of deployment. On the final stage all we got in the logs was a “Commit Failed” error as raised by my good friend, Rob, here (http://tridion.stackexchange.com/questions/8450/si4t-commit-failed-after-getsolrserver). Rai’s answer was helpful in moving us forward as it gave us hope and made us get back on our feet and keep trying. Rai said: “Wax on, wax off. Don’t forget to breathe, very important.” Thank you Sensei Rai.
Since we’ve gotten as far as the final stage of deployment, deep down we suspected that there is a problem with the connection to Solr. To our disappointment, the Solr connection was legit. So we came back to the conflicting version theory. We secured the win of this Kumite by setting up the Deployer in Eclipse and stepping through the source code of the SolrIndexDispatcher
class. When the HttpSolrServer
object gets instantiated, it goes into convulsions without any exceptions until all the Solr documents are processed. And at that point you just get the “commit failed” exception. So here is the scoop: The reason Solr 4.8 is not compatible with Tridion 2011 SP1 is because Tridion requires Java 6.0, but Solr 4.8 requires a minimum of Java 7. The last version of Solr that supports Java 6 is Solr 4.7. If you don’t believe me, check the out the March 12, 2014 news release on http://lucene.apache.org/ or the system requirements: http://lucene.apache.org/solr/4_8_0/SYSTEM_REQUIREMENTS.html On the other hand, Tridion 2013 runs Java 7 with Java 6 in “Deprecated” status.
So if you are running Tridion 2013 with Java 6, you could very well end up in a similar situation. For best SI4T results, run Tridion 2013 with Java 7 and Solr 4.8 or above; or run Tridion 2011 SP1 on Java 6 with Solr 4.7.