|
Suite au premier article Présentation de Lucene Solr, voici un article sur la mise en oeuvre de ce moteur de recherche. Les différents sujets abordés seront :
|
Cette première partie a pour but l’installation et la configuration minimum afin de pouvoir rechercher dans les documents d’exemple fournis dans la distribution de Solr.
Pré-requis
- Installer Java 1.6 update 11 ou supérieur. Pour récupérer Java SE, c’est ici.
- Installer Tomcat. Pour récupérer Tomcat 5.5, c’est ici.
- Récupérer une distribution de Solr. C’est ici pour la version officielle et ici et pour les derniers builds nocturnes.
Installation
Décompresser l’archive dans un répertoire de travail. Pour cet article, il s’agit de « d:\solr ». Un sous-répertoire est créé. Selon la version de Solr que vous aurez récupéré, ce répertoire peut s’appeller « apache-solr-nightly » ou « apache-solr-1.4.0″. Je suggère donc pour simplifier de renommer ce répertoire en « apache-solr ».
Configurer Solr pour un fonctionnement avec Jetty
Pour faire fonctionner avec la version de Jetty fournie avec Solr, il n’y a pas vraiment de configuration. Pour démarrer Jetty, il faut ouvrir une console et se placer dans le répertoire « d:\solr\apache-solr\example » et exécuter la commande suivante :
java -jar start.jar
Une fois que vous voyer apparaître la ligne suivante, le serveur est démarré :
INFO: [] Registered new searcher Searcher@d642fd main
On accède alors à l’administration de Solr avec l’url suivante :
http://localhost:8983/solr/admin
Pour une utilisation avec une instance existante de Jetty, la page du wiki qui explique la configuration est ici.
Configurer Solr pour un fonctionnement sous Tomcat 5.5
1. Afin de pouvoir passer en mode HTTP-GET des critères de recherche utilisant des caractères internationaux (code supérieur à 127) il est nécessaire d’éditer le fichier conf/server.xml de Tomcat et d’ajouter l’attribut suivant à l’élément Connector approprié : URIEncoding="UTF-8".
Il s’agit à priori du connecteur correspondant au port 8080, ce qui donne quelque chose comme ceci :
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
2. Copier le fichier « d:\solr\apache-solr\example\webapps\solr.war » dans le répertoire webapps de Tomcat.
3. Au moyen de la console Tomcat (dans le system tray), ajouter le paramètre
-Dsolr.solr.home=d:\solr\apache-solr\example\solr
4. Redémarrer Tomcat.
On accède alors à l’administration de Solr avec l’url suivante :
http://localhost:8080/solr/admin
Indexer un jeu de données en exemple
La distribution de Solr inclue un jeu de documents de test pour l’indexation. Il est possible de les indexer au moyen du package java post.jar.
Ouvrir une console et se placer dans le répertoire « d:\solr\apache-solr\example\exampledocs »
Avec Jetty, lancer la commande :
java -jar post.jar *.xml
Avec Tomcat, lancer la commande :
java -Durl=http://localhost:8080/solr/update -jar post.jar *.xml
Pour obtenir la liste de toutes les options de cet utilitaire, la commande est :
java -jar post.jar -help
Exécuter des recherches
Solr est maintenant fonctionnel et des données sont indexées. Il est donc possible d’exécuter les premières recherches avec le formulaire suivant :
http://localhost:8080/solr/admin/form.jsp
Vous pouvez constater que les résultats sont fournis au format XML. C’est effectivement à l’application appelant Solr de mettre en forme ces résultats.
Conclusion
Dans cet article, nous avons installé et fait fonctionné Solr dans un environnement Tomcat sous Windows. Par la suite j’aborderai plus en détail la configuration, les options de recherche et l’exploitation des résultats.














