Configurando LiferayDXP para producción: ElasticSearch en un contenedor Docker

23-07-2016
 

Como ya sabéis, Liferay 7 viene por defecto con ElsaticSearch embebido, el que ahora mismo es el mejor motor de búsqueda(En mi opinión). Gracias a esto, Liferay ahora es mas rápido y permite funcionalidades como el enlazado de contenidos al estilo de Linkedin o Facebook.

Pero de la misma forma que pasa con Hipersonic(La base de datos que trae embedida por defecto) no es óptimo para producción. Debemos instalar nuestro propio servidor ElasticSearch y configurárselo. Y como no! Hoy vamos ha hacerlo con Docker(Rápido y sencillo):

Arrancamos la imagen de ElasticSearch

Para arrancar la imagen de ElasticSearch solamente tenemos que ejecutar este comando:

	docker run --restart=always -d elasticsearch:latest

En mi caso he instalado la última versión que funciona bien con Liferay CE 7 GA2.

Comprobamos la configuración de ElasticSearch

Para saber la dirección IP de nuestro contenedor podemos ejecutar el siguiente comando:

	# Consultamos el listado de contenedores
	doccke ps

	# Consultamos la configuración de un cntenedor en concreto
	docker inspect <id-contenedor>
LiferayDXP ElasticSearch Docker

LiferayDXP ElasticSearch Docker

Ahora, podemos consultar la configuración de ElasticSearch accediendo a la URL http://<ip -contenedor>:9200:

LiferayDXP ElasticSearch Docker

LiferayDXP ElasticSearch Docker

Podemos contrastarla con la configuración del ElasticSearch instalada en nuestro Liferay accediendo a la URL http://127,0,0,1:9200. La nueva versión de Lucene es un poco superior(5.5.0) pero son compatibles.

Configuramos Liferay

Ahora ya solo queda configurar Liferay, hacemos click en la ‘Productivity bar’ y ‘Panel de control’->’Configuración’->’Configuraciones del sistema’->’Fundación’ y buscamos ‘Elasticsearch’. Aquí configuramos solamente estos tres parámetros:

  • ‘Cluster name’ le ponemos el de nuestro elastic search, es decir, ‘elasticsearch’
  • ‘Operation mode’ le ponemos el valor ‘REMOTE’
  • ‘Transport addresses’ le ponemos el valor ‘<ip-contenedor-docker>:9300’

Una vez guardado, vamos a ‘Productivity bar’ y ‘Panel de control’->’Configuración’->’Administración del servidor’ y ejecutamos ‘Regenerar todos los índices de la búsqueda.’.

Finalizado!

Ya podemos reiniciar Liferay y deberíamos notar un incremento de rendimiento bastante grande. Buen fin de semana y ha disfrutar 😀

Comments

One Response to “Configurando LiferayDXP para producción: ElasticSearch en un contenedor Docker”
  1. […] con extensión ‘.cfg’. Por ejemplo, en el pasado post “Configurando LiferayDXP para producción: ElasticSearch en un contenedor Docker” explicaba como configurar Elastic Search en producción. Pues si queremos poner la misma […]

Leave a Reply

© Albert Coronado Calzada