solr – gestion de cores y cambio de indices online

Hace unos días os hable de Solr, un motor de búsqueda hecho en java basado en Lucene.
Una de las nuevas funcionalidades que han implementado ha sido el soporte para manejar diferentes cores. Los cores en solr son diferentes instancias del buscador que funcionan completamente independientes dentro del contenedor J2EE, con sus propios indices, configuración, etc
Esto nos va a permitir crear, recargar, clonar, renombar y cambiar los cores completamente online, sin interrumpir el servicio en ningun momento

Supongamos que tenemos que hacer una reindexacion completa de los datos de nuestro buscador porque hemos cambiado los campos, pero no queremos dejar de dar servicio.

Para configurar solr para soportar multicore, tenemos que crear en el directorio principal un archivo llamado solr.xml, con el siguiente formato:


  
    
  

Es importante persistence=true para permitir al servidor tomcat modificar el propio solr.xml para guardar los cambios que le vamos a ordenar por http.
Ahora iniciamos solr y vemos el status de los cores:

http://localhost:8080/solr/admin/cores

En esta url nos dara los datos en formato xml de todos los cores disponibles asi como informacion del numero de documentos, si esta optimizado el indice, etc.



0
1



core0
/opt/tomcat/solr/core0/
/opt/tomcat/solr/core0/data/
2011-04-30T00:32:55.975Z
1082425

0
0
1304123575977
false
true
false
org.apache.lucene.store.NIOFSDirectory:org.apache.lucene.store.NIOFSDirectory@/opt/tomcat/solr/core0/data/index
2011-04-30T00:32:55Z