Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Adaptando plugin solr web para liferay 5.2.3 SE

Gustavo Fernández
Gustavo Fernández

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:

  • https://www.liferay.com/es/community/wiki/-/wiki/Main/Pluggable+Enterprise+Search+with+Solr
  • https://issues.liferay.com/browse/LPS-3120
  • https://www.liferay.com/es/community/forums/-/message_boards/message/3201654
  • https://www.liferay.com/es/community/forums/-/message_boards/message/1513934

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *