I tried looking for documentation but it is quite sparse. I wrote the following guide hoping that it might save someone 2-3 hours dealing with installations, setup and configuration. The performance gains from using Solr are quite spectacular compared to the MySQL fulltext search standard setup. It is definitely worth the time to get this working in your Magento installation.
Make sure the Java JDK is installed:
Install & Configure Tomcat:
Installation: sudo apt-get install tomcat6 tomcat6-admin tomcat6-common tomcat6-user
Configuration: vi /etc/tomcat6/tomcat-users.xml
Add the following roles and user to the configuration.
<role rolename="admin"/>
Restart the server: /etc/init.d/tomcat6 restart
If all goes well, goto http://hostname:8080
Install Solr:
Install & Configure
unzip apache-solr-3.3.0.zip
vi /etc/tomcat6/Catalina/localhost/solr.xml
<Context docBase="/usr/share/tomcat6/webapps/solr.war" debug="0" privileged="true" allowLinking="true" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/usr/share/tomcat6/solr" override="true" /> </Context>
chown -r tomcat6.tomcat6 /var/lib/tomcat6
Configure Magento to use Solr:
Replace the original Solr conf directory with the Magento conf files. The trick is just to copy the directory from Magento, and replace the one in Solr. That’s it!
In Magento, the folder is located in: [magento-instance-root]/lib/Apache/Solr/conf.
In Solr, the folder is located in [Solr-instance-root]/example/solr/conf.
Configure Solr in Magento: In admin, goto System -> Configuration -> Catalog -> Catalog Search
Troubleshooting:
Make sure all configuration files belong to tomcat6:tomcat6 chown -r tomcat6.tomcat6 …