Adaptando plugin solr web para liferay 5.2.3 SE

Hace un tiempo que escribí un artículo relacionado con solr y liferay. En aquel momento vimos que la idea de usar un servidor de indices externo podía ser interesante a la hora de disponer de un sistema de alta disponibilidad. También vimos que el plugin de liferay para solr funcionaba solamente para versiones específicas tanto del solr como del propio liferay. Existe una versión oficial del plugin para el solr 1.4 y liferay 5.2.0 que si se usa sobre la versión 5.2.3 del portal no funciona correctamente. Así que me he descargado las fuentes del plugin web y he realizado los siguientes cambios sobre el mismo para que funcione con la versión 5.2.3-SE (community) del portal y el servidor solr 1.4.1.

  • Añadida la constante, public static final String COMMAND_INDEX_ONLY = "INDEX_ONLY", en la clase utilidades. Parece que esta constante ha desparecido de la interfaz al pasar de la versión 5.1 a la 5.2 del portal. Supongo que ya no se enviarán mensajes por el bus con este comando, pero por si acaso he añadido la constante en el plugin.
  • Añadido un cast explicito para el método isIndexReadOnly().
  • Añadido un if not null de validación en el método de búsqueda if(sortField.getFieldName() != null ya que por alguna razón existen elementos en el array sorts con el getFieldName a null que hacen generan una excepción en tipo nullPointer a la hora de realizar las búsquedas.
  • Modificadas las dependencias y librería para que use las nuevas versiones empaquetadas en el solr 1.4.1 y sus dependencias existentes en el portal.

         portal-dependency-jars=\
            commons-codec.jar,\
            commons-httpclient.jar,\
            commons-io.jar,\
            slf4j-api.jar,\
            slf4j-log4j12.jar,\
            spring.jar


         y en el lib del plugin
           apache-solr-solrj-1.4.1.jar
           jcl-over-slf4j-1.5.5.jar

 

Con estos cambios el portal usa los indices almacenados en el servidor de solr y no apraecen trazas de error relacionadas con la indexación o la búsqueda. Hay que tener en cuenta que las pruebas que hemos realizado han sido pocas y que puede que aparezcan más fallos relacionados con la indexación. Dejo un link a la versión modificada el del plugin web de solr en este post.

Links de intrés relacionados con el tema:

00

More Blog Entries

0 Comments