Contexte
Pour des sites à
nombre élevé de contenu, il peut être une solution de s'aider de
Solr pour l'indexation du contenu et rapidifier les recherches. Pour
cela il faut installer Tomcat et ajouter certains modules à
l'installation de Drupal. Ceci agrémenté d'une configuration.
Il existe une
documentation d'installation
de Solr mais basée sur Tomcat 6. C'est un Wiki, donc en théorie
je devrais pouvoir contribuer, mais avant, je publie la version
française sur mon blog.
Installer Tomcat 7
On choisi le répertoire
“/opt/tomcat/” comme racine
La version choisie est
la dernière sortie à l'écriture de ce document.
La distribution binaire
proposée par le site de Tomcat convient très bien pour cet
exercice.
Les répertoires dont
on va se servir sont
- /opt/tomcat/conf/Catalina/localhost/
- /opt/tomcat/lib/
Installer Solr
Solr est téléchargeable
depuis son site Web.
On a à disposition une
archive “.tar.gz”. On n'aura pas besoin de tout son contenu, mais
maulheureusement il faudra la télécharger intégralement.
Une fois téléchargée,
il faut la désarchiver et on se servira des répertoires et fichiers
suivant:
- example/solr
- resources/*
- lib/ext/*
- dist/solr-X.Y.Z.war
Comme affirmé plus
haut, le reste n'est pas utile...
On choisi d'utiliser
JNDI pour l'installation
Le répertoire utilisé
comme racine ce cette instance Solr sera “/opt/solr/solr1/”.
Dans ce répertoire
racine
- on copiera le “.war” et on le nommera “solr.war”.
- On copiera l'entégralité du répertoire “example/solr”.
- On aura donc un répertoire nommé “/opt/solr/solr1/solr” qu'on appelera le “SolrHome”.
On revient dans
l'arborescence du Tomcat et dans
“/opt/tomcat/conf/Catalina/localhost/solr1.xml” on mettra
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/opt/solr/solr1/solr.war" crossContext="true" >
<Environment name="solr/home"
type="java.lang.String"
value="/opt/solr/solr1/solr"
override="true" />
</Context>
- On copie "dist/solrj-lib/*.jar" dans "/opt/tomcat/lib/"
- On doit ajouter "/opt/tomcat/lib/" en tant que "java.library.path":
- Dans "/opt/tomcat/bin/setenv.sh", mettre "JAVA_OPTS="-Djava.library.path=/opt/tomcat/lib""
En relançant Tomcat
avec “/opt/tomcat/bin/shutdown.sh” puis
“/opt/tomcat/bin/startup.sh”, puis en allant dans le Manager
Tomcat, on devrait avoir une application nommée “solr1”.
Installer Drupal et les modules
Il faut le module
ApacheSolr pour
intéragir avec Solr et Devel+DevelGenerate
pour générer du contenu aléatoire massif.
Installer ces modules
et générer beaucoup de contenu. Au moins 500 contenus sur une
machine moderne.
Configurer Solr pour utiliser les shema de contenu Drupal
On va copier le contenu de
“/var/www/html/sites/all/modules/apachesolr/solr-conf/solr-4.x/”
dans “/opt/solr/solr1/solr/collection1/conf/”. Ceci a pour but
d'informer Solr de la structure des documents dans Drupal.
“/var/www/html/sites/all/modules/apachesolr/solr-conf/solr-4.x/”
est fourni avec le module Drupal Apachesolr.
Configurer Drupal
Configuration des
“Active Search Modules”
Configuration de l'URL
du Solr.
Déclencher la
réindexation.