Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Solr en cluster para Liferay 6.0.5 CE

Gustavo Fernández
Gustavo Fernández

Siguiendo con el post
relacionado con SOLR y Liferay 5.2.3, hemos seguido haciendo
unas pruebas esta tarde relacionadas con la posibilidad de disponer de
un cluster de
SOLR y como usarlo de manera sencilla desde un cluster de Liferay.
SOLR propone como arquitectura de cluster un sistema basado en un
master de escritura y n nodos de lectura sincronizados. Por tanto no
se trata de un sistema activo-activo, sino más bien de un sistema
activo-pasivo. Claramente el trabajo principal de un servidor de
indexación es ofrecer los resultados de las búsquedas y desde es punto
de vista la arquitectura propuesta por SOLR tiene bastante sentido. La
pregunta es en este caso, ¿cómo usamos desde Liferay esta arquitectura
de forma sencilla?

Para poder hacer uso de esta arquitectura vamos a montar dos
nodos de Liferay cada uno con su
plugin solr-web desplegado, y vamos a configurar los contextos de
spring de los módulos de solr-web para que hagan uso de los nodos
replicados a la hora de hacer las búsquedas y del nodo maestro para
realizar las indexaciones. Con esta arquitectura cada nodo de Liferay
dispondrá de un nodo esclavo de SOLR que se encargará de realizar las
búsquedas y existirá un único nodo maestro de SOLR en el que ambos
nodos de Liferay escribirán, este nodo maestro se encargará de
realizar las tareas de sincronizado y de enviar la información de
sincronización a los nodos esclavos.

Para realizar esta configuración, desde el punto de vista de
Liferay basta con modificar el archivo solr-spring.xml, de cada nodo
de liferay para indicarle cual es el nodo de búsqueda y cual es el
nodo de indexación:

<bean
id=»com.liferay.portal.search.solr.server.BasicAuthSolrServer»
class=»com.liferay.portal.search.solr.server.BasicAuthSolrServer»>
        <constructor-arg type=»java.lang.String»
value=»http://solr-master.zylk.net:8090/solr» />
</bean>

<bean
id=»com.liferay.portal.search.solr.server.BasicAuthSolrServerSearcher»
class=»com.liferay.portal.search.solr.server.BasicAuthSolrServer»>
       <constructor-arg type=»java.lang.String»
value=»http://solr-slave.zylk.net:8090/solr» />
</bean>

 

Solr en cluster para Liferay 6.0.5 CE


Más adelante nos gustaría investigar la posibilidad de
realizar, búsquedas
distribuidas e indexaciones distribuidas con Liferay y SOLR…
pero eso será más adelante

Links de interés:
  *
https://wiki.apache.org/solr/SolrReplication
  * https://wiki.apache.org/solr/CollectionDistribution
  * https://www.mail-archive.com/solr-user@lucene.apache.org/msg06081.html
  * https://wiki.apache.org/solr/DistributedSearch
  * https://wiki.apache.org/solr/WritingDistributedSearchComponents  

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 *