Construyendo un motor de búsqueda con Zend Search Luceneueda con
Click here to load reader
-
Upload
carlos-nacianceno -
Category
Documents
-
view
1.304 -
download
3
description
Transcript of Construyendo un motor de búsqueda con Zend Search Luceneueda con
![Page 1: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/1.jpg)
Creando un motor de búsqueda con Zend Search Lucene
![Page 2: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/2.jpg)
Quién soy??
● Monterrey, N.L , México● Ingeniero Electrónica y Comunicaciones
● 11 años PHP y 3 años Zend Framework
● ZCE PHP 5, ZCE PHP 5.3, ZCE Zend Framework
● Instructor Autorizado Zend
![Page 3: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/3.jpg)
Zend Framework
![Page 4: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/4.jpg)
Zend Framework es....● Fullstack framework MVC
● Librería de Componentes● 'Use at will'
● Flexibilidad
Zend Framework
![Page 5: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/5.jpg)
Zend Framework
Zend_Search_Engine● Componente ZF● Motor de búsqueda de textos ● PHP 5 (no requeire más)● Standalone● Búsqueda Rankeada● Diferentes tipos de consultas● Búsqueda por campos
![Page 6: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/6.jpg)
Zend Framework
Zend_Search_Engine
● Versión PHP de Apache Lucene (Java)● No se requieren servidores externos, extensiones adicionales
o configuraciones especiales ● Compatible 1.4 - 2.3
● http://lucene.apache.org/java/docs/index.html
![Page 7: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/7.jpg)
Zend Studio
Conceptos● Índices
○ Archivos físicos en el sistema de archivos ○ Si no existe se necesita crear ○ Si ya existe se abre para manipularlo○ Se necesitan los permisos adecuados
$index = Zend_Search_Lucene:: create('/data/my-index');
$index = Zend_Search_Lucene:: open('/data/my-index');
![Page 8: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/8.jpg)
Zend Studio
Conceptos● Documentos
○ Objetos atómicos del índice○ Miles en un índice○ Formado por campos○ Representado por un objeto Zend_Search_Lucene_Document
![Page 9: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/9.jpg)
Zend Studio
Conceptos● Campos
○ Van dentro de un Documento○ Zend_Search_Lucene_Field○ Diferentes tipos:
■ Keyword■ UnIndexed■ Binary■ Text■ UnStored
● Índice > Documento > Campos
![Page 10: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/10.jpg)
Zend Studio
Aclaraciones ● No es un crawler o spiderbot● No es una Base de datos● No es un simple almacenaje de información● Es un motor de búsqueda!
![Page 11: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/11.jpg)
Zend Studio
Partes de un motor de búsqueda● Indexador
○ CLI o cronjob ○ Fuente de datos externa
■ Bases de datos■ Entradas del usuario
○ HTML○ PPT 2007○ Word 2007○ Excel 2007 ○ Proceso
■ Abrir o Crear el índice■ Crear documentos■ Añadir campos al documento■ Añadir docuentos al índice■ Cerrar índice
![Page 12: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/12.jpg)
Zend Framework
Partes de un motor de búsqueda● Buscador
○ Proceso■ Abrir el índice■ Realizar consulta■ Mostrar resultados■ Cerrar índice
○ Accion■ Abre el índice ■ Realiza consulta
○ Vista■ Muestra contenidos
![Page 13: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/13.jpg)
Zend Framework
Consultas o queries● Término
○ Palabra o frase que se busca
● Tipos○ Wildcards○ Rango○ Fuzzy○ Próximidad
● Opciones
○ Buscar por campos o conjunto de campos○ Operadores booleanos○ Peso a terminos○ Escape de caracteres especiales
![Page 14: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/14.jpg)
Zend Framework
Consultas o queries● Resultados
○ Hits ○ Documentos con un score ○ Se puede hacer una iteración con ellos
![Page 15: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/15.jpg)
Demo.....
![Page 16: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/16.jpg)
Ventajas● Sencillo de usar● No requiere servicios externos o extensiones● PHP !!● Adaptación a otros frameworks PHP
Zend Framework
![Page 17: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/17.jpg)
Desventajas● Los indices requieren mantenimiento por parte de la
aplicación● Limites de 2GB para 32 bit● Puede llegar a consumir muchos recursos de indices
gigantescos
Zend Framework
![Page 18: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/18.jpg)
Buenas prácticas y tips
Zend Framework
● Optimizar el indice● No usar nombres de campo id y/o score● Buscar documentos por id● Asegurarnos de indexar con el mismo charset con el que
buscamos● Darle mantenimiento al índice● IDEA: Modificar algoritmo de score
![Page 19: Construyendo un motor de búsqueda con Zend Search Luceneueda con](https://reader038.fdocument.pub/reader038/viewer/2022100604/5598a0901a28aba40a8b4611/html5/thumbnails/19.jpg)
Zend Framework
Muchas Gracias● Preguntas????● Twitter: @igormx