Seminario Apache Solr
Upcoming SlideShare
Loading in...5
×
 

Seminario Apache Solr

on

  • 899 views

Seminario de Apache Solr, organizado por Paradigma Tecnologico y Javahispano, presentado por Marco Martinez y Alejandro Marques el 8 de Junio de 2010

Seminario de Apache Solr, organizado por Paradigma Tecnologico y Javahispano, presentado por Marco Martinez y Alejandro Marques el 8 de Junio de 2010
Mas info:

Statistics

Views

Total Views
899
Views on SlideShare
899
Embed Views
0

Actions

Likes
1
Downloads
22
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Seminario Apache Solr Seminario Apache Solr Presentation Transcript

  • 1 APACHE SOLRParadigma TecnológicoServicios de formaciónApache Solr
  • 2 APACHE SOLRÍndice Introducción Lucene Solr Instalación Indexación Esquema de Datos Búsqueda Parámetros de Búsqueda Búsqueda Avanzada Analizadores de Texto Tokenización Stemming Sinónimos Stop Words N-Gramas Componentes de Búsqueda Highlighting Corrección ortográfica More like this
  • 3 APACHE SOLRParadigma TecnológicoServicios de formaciónIntroducción
  • 4 APACHE SOLR Solr: Motor de búsqueda basado en Lucene. Lucene : Proyecto de código abierto escrito en java. Librería que proporciona búsquedas de texto de alto rendimiento haciendouso de índices invertidos. Mayor velocidad en la búsqueda de cadenas de texto. Menor dependencia del tamaño del índice. Mayor flexibilidad en las búsquedas de texto: Búsquedas por término,mediante N-Gramas, búsquedas fonéticas… Mayor facilidad para ordenaciones por score y ponderaciones. Características adicionales: Analizadores de texto, resaltado decoincidencias, corrector ortográfico, etc.Introducción (I): Lucene
  • 5 APACHE SOLRÍndice DirectoÍndice InvertidoIntroducción (II): Índice Invertido vs. Índice Directo1 que es esto2 esto es un texto3 este texto es otro textoque 1es 1, 2, 3esto 1, 2un 2texto 2, 3este 3otro 3que (1,1)es (1,2) (2,2) (3,3)esto (1,3) (2,1)un (2,3)texto (2,4) (3,2) (3,5)este (3,1)otro (3,4)
  • 6 APACHE SOLRSolr es un proyecto de código abierto escrito en java que proporciona unrecubrimiento de Lucene añadiendo características adicionales: Acceso HTTP a Lucene. Cachés para lograr mayor velocidad en las búsquedas. Interfaz de administración web. Configuración del esquema de datos y del servidor mediante archivosXML. Facetado de resultados (Agrupación de resultados con contadores). Distribución de servidores.Introducción (III): Solr
  • 7 APACHE SOLR Solr se divide en dos partes: Índice: Sistema de ficheros que almacenan la información. Contiene laconfiguraciónde Solr y la definición de la estructura de datos. Servidor: Proporciona el acceso a los índices y las característicasadicionales. Admite plugins para añadir funcionalidades.Arquitectura de Solr (I)
  • 8 APACHE SOLRSolr permite búsquedas distribuidas: Uno de los servidores actúa comomaestro, consultando al resto y componiendo la respuesta.Arquitectura de Solr (II): Arquitectura Distribuida
  • 9 APACHE SOLR Requisitos: Java 1.5+ Servidor de aplicaciones Descarga: http://apache.rediris.es/lucene/solr/ Pasos: Copia de índice. Despliegue de servidor sobre el servidor de aplicaciones. Configuración de enlace entre servidor e índice. (Modificación delfichero web.xml)Instalación de Solr
  • 10 APACHE SOLRParadigma TecnológicoServicios de formaciónIndexación
  • 11 APACHE SOLR schema.xml: Archivo XML que define las estructura de datos a indexar. Estructura de campo: Tipos de Datos: Definidos por clases java. Parámetros opcionales: default: Valor a usar si no se recibe ninguno required: Define si un campo es obligatorio. indexed: Determina si un campo es buscable u ordenable. stored: Determina si un campo se puede recuperar en una consulta. multiValued: El campo contiene más de un valor.Indexación de Contenidos (I): Esquema de datos<field name=“nombre de campo" type=“tipo de dato" />
  • 12 APACHE SOLR Canales para el envío de documentos: Petición HTTP: Envío de instrucción y datos asociados vía HTTP POST. Cliente Solrj: Cliente java. Permite realizar las diferentes operacionessobre el índice y enviar la información en diferentes formatos. Fuentes de datos para la indexación: XML: Coherente con la estructura de datos definida. Objetos Java: Representación binaria del documento XML. CSV: Documento de texto con valores separados. Documentos enriquecidos: PDF, XLS, DOC, PPT, … Base de Datos: Adaptador intermedio (DataImportHandler).Indexación de Contenidos (II)
  • 13 APACHE SOLRParadigma TecnológicoServicios de formaciónBúsqueda
  • 14 APACHE SOLR Canales de búsqueda: Petición HTTP: Envío de instrucción de búsqueda y parámetrosmediante HTTP GET. Administrador de Solr: proporciona un recubrimiento para simplificar lapetición HTTP. Cliente Solrj: Posee también los métodos necesarios para realizarbúsquedas sobre los índices. Respuesta como estructura XML.Búsquedas (I)
  • 15 APACHE SOLR q: Petición con formato “campo:valor” start: Documento inicial a partir delcual se van a mostrar los resultados. rows: Indica el número máximo de resultados a mostrar. facets: Indica si se desean mostrar facetas. Parámetros adicionales paraindicar el campo por el que realizarlas, límite, ordenación, etc. sort: Define la ordenación de los resultados. Ordenaciones combinadas.Formato de ordenaciones: “precio desc, nombre asc” fl: Campos que se devuelven en la respuesta fq: Mismo formato que “q”. Limita la query (actúa como filtro). Losresultados se cachean. …Búsquedas (II): Parámetros de Búsqueda
  • 16 APACHE SOLR Wildcards: Solr no permite wildcards iniciales word*: * sustituye a cualquier número de caracteres. w?rd: ? sustituye a un único carácter. w?*d: Pueden componerse ambos comodines. Operadores Lógicos AND: word1 AND word2 = word1 && word2 = +word1 +word2 OR: word1 OR word2 = word1 || word2 = word1 word2 NOT: word1 NOT word2 = word1 -word2Búsquedas (III): Búsqueda Avanzada
  • 17 APACHE SOLR Rangos: Se expresan como “campo:[A TO B]” Boosting: Se pueden ordenar resultados dando más importancia a ciertoscampos nombre:jose^2 AND alias:pepe^0.7 Fuzzy: Busca términos similares basándose en número de inserciones,borrados o intercambios de caracteres. Puede definirse el grado deproximidad. nombre: sony~0.9 -> Devuelve resultados con nombre “sony” nombre: sony~0.4 -> Devuelve resultados con nombre “coby”Búsquedas (IV): Búsqueda Avanzada
  • 18 APACHE SOLRParadigma TecnológicoServicios de formaciónAnalizadores de Texto
  • 19 APACHE SOLR Procesadores propios de Solr o posibilidad de implementar nuevosanalizadores. Configurables por XML (schema.xml). Aplicables a campos específicos. Aplicables en tiempo de indexación, durante la búsqueda o en ambos. Existen múltiples analizadores y se pueden definir analizadores propios,algunos de los que proporciona Solr:Analizadores de Texto (I) Tokenización Stemming Sinónimos Stop Words N-Gramas
  • 20 APACHE SOLR Tokenización: División de texto mediante diferentes expresiones (Espaciosen blanco, etiquetas html, signos de puntuación, expresiones regulares…) Stemming: Reducción de términos derivados a su forma raíz. Sinónimos: Transformación de texto mediante definición explícita derelaciones de sinonimia.Analizadores de Texto (II): Tokenización, Stemming, Sinónimos<tokenizer class="solr.WhitespaceTokenizerFactory"/><filter class="solr.EnglishPorterFilterFactory"protected="protwords.txt"/><filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"ignoreCase="true"expand="true"/>
  • 21 APACHE SOLR Stop words: Eliminación de palabras no significativas para el proceso debúsqueda. N-Gramas: Separación de texto en los diferentes grupos de caracteres quelo componen.Analizadores de Texto (III): Stop Words, N-Gramas<filter class="solr.StopFilterFactory"words="stopwords.txt"ignoreCase="true"/><filter class="solr.NGramFilterFactory"minGramSize="2"maxGramSize="15"/>
  • 22 APACHE SOLRParadigma TecnológicoServicios de formaciónComponentes de Búsqueda
  • 23 APACHE SOLR Los componentes de búsqueda proporcionan funciones adicionales a larecuperaciónde resultados. Son configurables en tiempo de consulta (Algunos pueden necesitarconfiguraciónadicional en los archivos xml). Algunos de los componentes de búsqueda que proporciona Solr: Highlighting: Resaltado de términos. Spell Checker: Corrección ortográfica. More Like This: Resultados similares.Componentes de Búsqueda (I)
  • 24 APACHE SOLRComponentes de Búsqueda (II): Highlighting Highlighting: Ofrece el resaltado de términos buscados dentro de unacadena de texto. Algunos parámetros de configuración: hl=true: Activa el resaltado de términos hl.fl=[fieldnames]: Campo o campos sobre los que se realizará el resaltado. hl.simple.pre / hl.simple.post=[etiqueta]: Etiqueta que se añadirá antes ydespués del término resaltado (Ej. <span class=“bold”> término </span>)
  • 25 APACHE SOLR Spell Checker: Proporciona sugerencias para errores ortográficos basadasen el contenido indexado o en un diccionario. Para sugerencias por contenido indexado es recomendable crear un campopara corrección ortográfica (De tipo “textSpell” o “textSpellPhrase”). Configuración:Componentes de Búsqueda (III): Corrección Ortográfica<searchComponent name="spellcheck" class="solr.SpellCheckComponent"><str name="queryAnalyzerFieldType">textSpell</str><lst name="spellchecker"><str name="name">default</str><str name="classname">solr.IndexBasedSpellChecker</str><str name="field">corrector</str><str name="spellcheckIndexDir">./spellchecker</str></lst></searchComponent>
  • 26 APACHE SOLR More Like This: Componente de sugerencia de documentos similares. Sebasa en los términos que aparecen en el documento recuperado y lafrecuencia de los mismos. Configuraciónpor parámetros de búsqueda: mlt=true: Activa la utilidad de resultados similares. mlt.fl=[fieldnames]: Campo o campos analizados. mlt.count=[número]: Número de resultados devueltos. mlt.qf=[field1^2.0 field2^5.0]: Configuración de ponderación sobre diferentescampos para el cálculo de similitud. …Componentes de Búsqueda (IV): More Like This
  • 27 APACHE SOLRParadigma TecnológicoServicios de formaciónReferencias
  • 28 APACHE SOLR Enlaces de Interés: Página Oficial: http://lucene.apache.org/solr/ Wiki: http://wiki.apache.org/solr/ Mailing list: http://mail-archives.apache.org/mod_mbox/lucene-solr-user/ Manuales: Smiley, D. y Pugh, E. (2009). Solr 1.4 Enterprise Search Server. Packt PublishingReferencias y Enlaces de Interés