Torquebox & Apache Solr
Non ho trovato documentazione su come installare Apache Solr su JBoss/Torquebox. Pubblico qualche appunto, magari può essere utile!
Per queste note sto usando Torquebox 1.1, quindi JBoss 6.0, e Apache Solr 3.3, direi che un cambio anche minore delle versioni potrebbe rendere queste istruzioni almeno parzialmente inefficaci.
Scarica Apache Solr da qui: http://it.apache.contactlab.it/lucene/solr/3.3.0/apache-solr-3.3.0.tgz
Ora bisogna spostare apache-solr-3.3.0/example/webapps/solr.war in $JBOSS_HOME/server/default/deploy/
Solr 3.3 risulta avere delle incompatibilità con JBoss 6.0 (http://wiki.apache.org/solr/SolrJBoss ), ecco come risolverle:
Apri il file solr.war ed elimina commons-collections.jar and commons-beanutils.jar da WEB-INF/lib
Sostituisci WEB-INF/lib/velocity-tools-2.0-beta3.jar con velocity-tools-2.0.jar che puoi scaricare da qui: http://velocity.apache.org/download.cgi
Per il logging JBoss/Torquebox usa Log4J mentre Solr usa il binding slf4j, inoltre c’è un conflitto di versione tra la 1.6.1 di Solr e la versione 1.5.5 usato in Toquebox 1.1.
Bisogna forzare un poco le cose (magari ci sono soluzioni migliori) :
da WEB-INF/lib elimina questi 4 jar:
- jcl-over-slf4j-1.6.1.jar
- log4j-over-slf4j-1.6.1.jar
- slf4j-api-1.6.1.jar
- slf4j-jdk14-1.6.1.jar
e sostituiscili con questi 3 (tre) jar che puoi scaricare da qui: http://www.slf4j.org/dist/slf4j-1.5.5.tar.gz
- jcl-over-slf4j-1.5.5.jar
- slf4j-api-1.5.5.jar
- slf4j-log4j12-1.5.5.jar
A questo punto il grosso è fatto!
Copia apache-solr-3.3.0/example/solr in una dir che farà da home per solr, per esempio /srv/solr/
Edita il file $JBOSS_HOME/server/default/deploy/properties-service.xml aggiungendo:
prima di /mbean
Poi bisogna modificare $JBOSS_HOME/server/default/deploy/jbossweb.sar/server.xml aggiungendo l’attributo URIEncoding=”UTF-8” all’elemento Connector, così:
Dovremmo esserci, avviamo JBoss come al solito:
$JBOSS_HOME/bin/run.sh
ed un occhio ai logs in $JBOSS_HOME/server/default/log/
Spero possa essere utile!

