Mise à jour de SolR 4.2 vers 4.8

Mise en place des fichiers

On commence par copier les fichiers dans les répertoires correspondants du serveur tomcat. Pour nous, ces répertoires sont les suivants mais ils peuvent changer selon votre installation.

# cp dist/solr-4.8.1.war /var/lib/tomcat7/webapps/solr.war
# cp /usr/local/src/solr-4.8.1/example/lib/ext/* /usr/share/tomcat7/lib/
# cp /usr/local/src/solr-4.8.1/example/resources/log4j.properties /usr/share/tomcat7/lib/
# cp -Rf /usr/local/src/solr-4.8.1/example/solr /var/lib/tomcat7/

Il faut ensuite éditer le fichier de propriété de log4j pour y renseigner un chemin de log, cette fonctionnalité implémentée dans la version 4.4 permet de gérer les logs dans un fichier externalisé.

# vi /usr/share/tomcat7/lib/log4j.properties
solr.log=/var/log/
# touch /var/log/solr.log

Supprimez les bibliothèques java inutiles

# rm /usr/share/tomcat7/lib/slf4j-log4j12-1.6.6.jar
# rm /var/lib/tomcat7/webapps/solr/WEB-INF/lib/slf4j-jdk14-1.6.4.jar

Et le dossier contenant l’interface qui doit être régénérer grâce à solr.war

rm -Rf /var/lib/tomcat7/webapps/solr

Modification de la configuration

Puis édité le fichier solr.xml pour spécifier le port utilisé par solrcloud pour communiquer avec son service.

# vi /var/lib/tomcat7/solr/solr.xml
<int name="hostPort">8080</int>
# chown -R tomcat7:tomcat7 /var/lib/tomcat7/solr/

Si vous souhaitez désactivé une partis des warnings qui génèrera collection1 voici quelques modification à faire dans le fichier solrconfig.xml, il est également possible de supprimer complètement la collection. Notez que ces commentaires marchent avec n’importe quelle collection.

# vi /var/lib/tomcat7/solr/collection1/conf/solrconfig.xml

<!-- Commentez les lignes suivantes
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
-->

Importation d’une collection

Si vous n’avez rien touché, votre/vos collection(s) devrai(en)t toujours être dans le répertoire correspondant aux collections et il n’y a donc rien à déplacer, pour nous ce répertoire est : /var/lib/tomcat7/solr. Rendez-vous dans le répertoire de vos collections et déplacez/supprimez le fichier core.properties.

solrcore-500

Pour importer une collection, appelons là par exemple collection_name, vous devez vous rendre sur l’interface graphique via votre navigateur internet préféré. Une fois-là, allez dans « Core Admin » et cliquez sur « Add Core ». Dans la pop-in qui s’affiche renseignez les champs « name » et « instanceDir » avec le nom de votre instance à importer, dans cet exemple collection_name.

En cas d’erreur, vérifiez qu’il n’y a qu’une seule référence des lignes suivantes dans le fichier solrconfig.xml de votre collection.

<!--  Vérifiez qu’il n’y a qu’une seule fois ces lignes -->
<useCompoundFile>false</useCompoundFile>
<ramBufferSizeMB>32</ramBufferSizeMB>
<mergeFactor>10</mergeFactor>