{"id":1017,"date":"2013-05-14T22:18:39","date_gmt":"2013-05-14T21:18:39","guid":{"rendered":"http:\/\/www.arvo.es\/dspace\/?p=1017"},"modified":"2013-05-14T22:21:26","modified_gmt":"2013-05-14T21:21:26","slug":"configurando-solr","status":"publish","type":"post","link":"https:\/\/www.arvo.es\/dspace\/configurando-solr\/","title":{"rendered":"Configurando SOLR"},"content":{"rendered":"<p>Empecemos con una definici\u00f3n de la p\u00e1gina del proyecto Apache SOLR (traducida r\u00e1pidamente)<\/p>\n<blockquote><p>SOLR es una plataforma de b\u00fasqueda de c\u00f3digo abierto, evoluci\u00f3n del proyecto Apache Lucene. Sus principales caracter\u00edsticas incluyen la b\u00fasqueda de texto completo,\u00a0 b\u00fasqueda facetada,\u00a0 indexaci\u00f3n en casi- tiempo real, la agrupaci\u00f3n din\u00e1mica, la integraci\u00f3n de bases de datos, documentos ricos (por ejemplo, Word, PDF) y la b\u00fasqueda geoespacial. SOLR es fiable, escalable y tolerante a fallos, proporcionando indexaci\u00f3n distribuida,\u00a0 replicaci\u00f3n y consultas en configuraciones con equilibrio de carga, failover automatizado y recuperaci\u00f3n, configuraci\u00f3n centralizada etc..<\/p><\/blockquote>\n<p>SOLR est\u00e1 presente en las caracter\u00edsticas de b\u00fasqueda y navegaci\u00f3n caracter\u00edsticas de muchas de las mayores webs existentes (Resumiendo: es una evoluci\u00f3n de Lucene y es extremadamente potente)<\/p>\n<h3>\u00a0SOLR y Dspace<\/h3>\n<p>SOLR se usa en Dspace para lograr dos funcionalidades: estad\u00edsticas y b\u00fasquedas. Como nada es perfecto, el uso de SOLR se mezcla con antiguas capas de c\u00f3digo pre-existente Lucene. As\u00ed tenemos que en Dspace version 1.7, 1.8 y\u00a0 3, conviven las estad\u00edsticas del \u00absistema\u00bb a partir del procesado de los logs del sistema\u00a0 Y\u00a0 las estad\u00edsticas de uso y descarga, obtenidas a partir \/solr\/statistics. En el -ambito de la b\u00fasqueda, la situaci\u00f3n es que con Discovery activado, la b\u00fasqueda se har\u00e1 sobre el motor SOLR y sus \u00edndices, pero la navegaci\u00f3n por \u00edndices se hace sobre Lucene (desconcierto garantizado). Est\u00e1 planificado simplificar esta situaci\u00f3n en la versi\u00f3n 4, eliminando Lucene&#8230; veremos..<\/p>\n<h3>Configurando las b\u00fasquedas SOLR<\/h3>\n<p>Hoy veremos el segundo bloque funcional, las b\u00fasquedas. La buena noticia es que SOLR se configura mediante ficheros XML, la mala es que esta configuraci\u00f3n es sustancialmente m\u00e1s compleja que la configuraci\u00f3n Lucene.\u00a0\u00a0 Rompamos una lanza: SOLR tiene una potencia espectacular aunque resulte dif\u00edcil de comprender su funcionamiento. Pero&#8230; \u00bfquien entiende el comportamiento de Google? \u00bfy qui\u00e9n lo usa? \u00bfa que no podr\u00edamos vivir sin \u00e9l?\u00a0\u00a0\u00a0 Pues comprender el funcionamiento de SOLR es complejo y su potencial es enorme, aunque quiz\u00e1 podamos conformarnos con realizar una serie de adaptaciones.<\/p>\n<p>Como ejemplo de lo anterior, y ya que ten\u00edamos pendiente hablar sobre las configuraciones de diacr\u00edticos, pues vamos a comentar como lograr lo mismo que hac\u00edamos en Lucene en este <a title=\"Configurando el buscador Lucene, sobre alfabetos, diacr\u00edticos, stemmers \u2026.\" href=\"http:\/\/www.arvo.es\/dspace\/configurando-el-buscador-lucene-sobre-alfabetos-diacriticos-stemmers\/\">post<\/a>.<\/p>\n<p>B\u00e1sicamente el proceso de construcci\u00f3n del \u00edndice Solr es la aplicaci\u00f3n de una serie de transformaciones a nuestros campos (fields). Las transformaciones son del mimo tipo que las que aplic\u00e1bamos en Lucene. En general se mantienen los nombres de las clases transformadoras y se les a\u00f1ade el prefijo \u00absolr\u00bb, refiri\u00e9ndose as\u00ed a las clases java del paquete org.apache.solr.analysis.<\/p>\n<p>Hay que especificarlas relacion\u00e1ndolas con el tipo de campo que queramos transformar, y esta relaci\u00f3n se especifica dentro del fichero \u00abprincipal\u00bb de configuraci\u00f3n ..\/solr\/search\/conf\/schema.xml.<\/p>\n<p>En este fichero tenemos que localizar el &lt;fieldType name=\u00bbtext\u00bb &#8230;&#8230;&gt; que es el que corresponde con los campos de tipo textual. Hay datos de m\u00faltiples tipos: num\u00e9ricos, string, num\u00e9ricos con ordenaci\u00f3n textual, fechas, booleanos, hasta 39 diferentes contamos en schema.xml<\/p>\n<p>pues bien dentro de esa etiqueta fielType, localizar<\/p>\n<pre>&lt;filter class=\"solr.EnglishPorterFilterFactory\" protected=\"protwords.txt\"&gt;<\/pre>\n<p>y cambiarla, a\u00f1adiendo..<\/p>\n<pre>&lt;filter class=\"solr.ASCIIFoldingFilterFactory\"&gt;&lt;\/filter&gt;\r\n&lt;filter class=\"solr.EnglishPorterFilterFactory\" protected=\"protwords.txt\"&gt;<\/pre>\n<p>Lo ponemos \u00abantes\u00bb del Porter-Stemmer por las mismas razones que explicamos cuando configuramos el \u00edndice Lucene.\u00a0 Ya de paso, y contestando una pregunta que nos hic\u00edsteis, aprovechamos para revisar en ese mismo fichero el operador l\u00f3gico usado en las queries:<\/p>\n<pre>&lt;!-- SolrQueryParser configuration: defaultOperator=\"AND|OR\" --&gt;\r\n\r\n&lt;solrQueryParser defaultOperator=\"AND\"\/&gt;<\/pre>\n<p>Ahora nos queda reindexar SOLR. Nos parece que es m\u00e1s adecuado proceder a una reconstrucci\u00f3n completa del \u00edndice y por eso, la opci\u00f3n de borrado del \u00edndice.<\/p>\n<pre>..\\bin\\dspace update-discovery-index -b<\/pre>\n<p>Y ya debiera estar. Suerte.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Empecemos con una definici\u00f3n de la p\u00e1gina del proyecto Apache SOLR (traducida r\u00e1pidamente) SOLR es una plataforma de b\u00fasqueda de c\u00f3digo abierto, evoluci\u00f3n del proyecto Apache Lucene. Sus principales caracter\u00edsticas incluyen la b\u00fasqueda de texto completo,\u00a0 b\u00fasqueda facetada,\u00a0 indexaci\u00f3n en &hellip;<\/p>\n<p class=\"read-more\"><a href=\"https:\/\/www.arvo.es\/dspace\/configurando-solr\/\">Leer m\u00e1s &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[40,53,65],"class_list":["post-1017","post","type-post","status-publish","format-standard","hentry","category-documentacion_tecnica","tag-discovery","tag-lucene","tag-solr"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/posts\/1017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/comments?post=1017"}],"version-history":[{"count":11,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/posts\/1017\/revisions"}],"predecessor-version":[{"id":1033,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/posts\/1017\/revisions\/1033"}],"wp:attachment":[{"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/media?parent=1017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/categories?post=1017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/tags?post=1017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}