Configurando SOLR Empecemos con una definición de la página del proyecto Apache SOLR (traducida rápidamente) SOLR es una plataforma de búsqueda de código abierto, evolución del proyecto Apache Lucene. Sus principales características características incluyen la búsqueda de texto completo, búsqueda facetada, facetada,
indexación en casi- tiempo real, la agrupación agrupación dinámica, la
integración de bases de datos, documentos ricos (por ejemplo, Word, PDF) y la búsqueda geoespacial. SOLR es fiable, escalable y tolerante a fallos, proporcionando indexación distribuida, distribuida, replicación y consultas consultas en configuraciones con con equilibrio de carga, failover automatizado y recuperación, configuración centralizada etc.. SOLR está presente en las características de búsqueda y navegación características de muchas de las mayores webs existentes (Resumiendo: es una evolución de Lucene y es extremadamente potente) SOLR y Dspace
SOLR se usa en Dspace para lograr dos funcionalidades: estadísticas y búsquedas. Como nada es perfecto, el uso de SOLR se mezcla con antiguas capas de código preexistente Lucene. Así tenemos que en Dspace Dspace version 1.7, 1.8 y 3, conviven las estadísticas del “sistema” a partir partir del procesado procesado de los logs del sistema sistema
Y
las
estadísticas de uso y descarga, obtenidas a partir /solr/statistics. En el -ambito de la búsqueda, la situación es que con Discovery activado, la búsqueda se hará sobre el motor SOLR y sus índices, pero la navegación por índices se hace sobre Lucene (desconcierto garantizado). Está planificado simplificar esta situación en la versión 4, eliminando Lucene… veremos.. Configurando las búsquedas SOLR
Hoy veremos el segundo bloque funcional, las búsquedas. La buena noticia es que SOLR se configura mediante ficheros XML, la mala es que esta configuración es sustancialmente más compleja que la configuración Lucene.
Rompamos una lanza: lanza:
SOLR tiene una potencia espectacular aunque resulte difícil de comprender su funcionamiento. Pero… ¿quien entiende el comportamiento de Goog le? ¿y quién lo
usa? ¿a que no podríamos vivir sin sin él?
Pues comprender el funcionamiento funcionamiento de SOLR SOLR
es complejo y su potencial es enorme, aunque quizá podamos conformarnos con realizar una serie de adaptaciones. Como ejemplo de lo anterior, y ya que teníamos pendiente hablar sobre las configuraciones de diacríticos, pues vamos a comentar como lograr lo mismo que hacíamos en Lucene en este post.
Básicamente el proceso de construcción del índice Solr es la aplicación de una serie de transformaciones a nuestros campos (fields). Las transformaciones son del mimo tipo que las que aplicábamos en Lucene. En general se mantienen los nombres de las clases transformadoras y se les añade el prefijo “solr”, refiriéndose así a las clases java del
paquete org.apache.solr.analysis. Hay que especificarlas relacionándolas con el tipo de campo que queramos transformar, y esta relación se especifica dentro del fichero “principal” de
configuración ../solr/search/conf/schema.xml. En este fichero tenemos que localizar el que es el que corresponde con los campos de tipo textual. Hay datos de múltiples tipos: numéricos, string, numéricos con ordenación textual, fechas, booleanos, hasta 39 diferentes contamos en schema.xml pues bien dentro de esa etiqueta fielType, localizar y cambiarla, añadiendo..
Lo ponemos “antes” del Porter -Stemmer por las mismas razones que explicamos cuando configuramos el índice Lucene. Ya de paso, y contestando una pregunta que nos hicísteis, aprovechamos para revisar en ese mismo fichero el operador lógico usado en las queries: Ahora nos queda reindexar SOLR. Nos parece que es más adecuado proceder a una reconstrucción completa del índice y por eso, la opción de borrado del í ndice. ..\bin\dspace update-discovery-index -b
Y ya debiera estar. Suerte.