Integracion de solr 4.6 con liferay 6.1.1

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.

00

More Blog Entries

0 Comments