Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Integracion de solr 4.6 con liferay 6.1.1

Gustavo Fernández
Gustavo Fernández

Normalmente cuando se monta un cluster de liferay hay un varios temas
a tener en cuenta

  • Replica de las caches de base de datos (hibernate)
  • Replica de los indices de lucene (cluster-link)
  • Replica de los ficheros

Para la parte de replica de caches de base de datos, se usa una
replica multi-cast entre los distintos nodos. Para la parte de índices
de lucene se puede hacer algo equivalente o montar
solr
. En este caso hemos probado el comportamiento de solr 4.6 en liferay 6.1.1.

Para montar el sistema hemos partido del plugin web para solr de
liferay que funciona para versiones anteriores de solr (1.4
principalmente) y lo hemos adaptado para la nueva versión de solr. Los
cambios prinicpales que hemos tenido que hacer han sido:

  1. Cambiar las librerías cliente de solr por las de la nueva versión
  2. Adaptar el plugin-web a las nuveas librerías
  3. Añadir el cliente http de apache en su versión 4.3 que son las que
    necesita la nueva versión de solr
  4. Añadir la librería noggit-0.5.jar al plugin
  5. Adaptar el archivo de spring del plugin a nuestro entorno.
  6. Recompliar todo el plugin y desplegarlo en un liferay 6.1.1

En la parte de solr

  1. Hemos creado un nuevo core
  2. Hemos añadido los campos necesarios a la configuración de este
    nuevo core, por ejemplo uid como campo único, el groupId, el
    companyId etc…

Con estos cambios la versión de liferay 6.1.1 es capaz de trabajar
con solr 4.6 sin ningún problema. En cualquier caso la prueba
realizada solo es una prueba de concepto sobre la que habría que
mejorar algunos aspectos, por ejemplo el uso del cliente multi-thread
de la versión del cliente de apache 3.x ya que se ha cambiado por el
cliente default de la versión 4.x.

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 *