Your SlideShare is downloading. ×
Construyendo un motor de búsqueda con Zend Search Luceneueda con
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Construyendo un motor de búsqueda con Zend Search Luceneueda con

1,202
views

Published on

Una presentación en PHP Colombia hablando sobre Zend Search Engine

Una presentación en PHP Colombia hablando sobre Zend Search Engine


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,202
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Creando un motor de búsquedacon Zend Search Lucene
  • 2. 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
  • 3. Zend Framework
  • 4. Zend Framework es.... ● Fullstack framework MVC ● Librería de Componentes ● Use at will ● FlexibilidadZend Framework
  • 5. 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 camposZend Framework
  • 6. 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.htmlZend Framework
  • 7. 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 );Zend Studio
  • 8. Conceptos ● Documentos ○ Objetos atómicos del índice ○ Miles en un índice ○ Formado por campos ○ Representado por un objeto Zend_Search_Lucene_DocumentZend Studio
  • 9. Conceptos ● Campos ○ Van dentro de un Documento ○ Zend_Search_Lucene_Field ○ Diferentes tipos: ■ Keyword ■ UnIndexed ■ Binary ■ Text ■ UnStored ● Índice > Documento > CamposZend Studio
  • 10. 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!Zend Studio
  • 11. 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 índiceZend Studio
  • 12. 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 contenidosZend Framework
  • 13. 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
  • 14. Consultas o queries● Resultados ○ Hits ○ Documentos con un score ○ Se puede hacer una iteración con ellos
  • 15. Demo.....
  • 16. Ventajas ● Sencillo de usar ● No requiere servicios externos o extensiones ● PHP !! ● Adaptación a otros frameworks PHPZend Framework
  • 17. 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 gigantescosZend Framework
  • 18. Buenas prácticas y tips ● 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 scoreZend Framework
  • 19. Muchas Gracias ● Preguntas???? ● Twitter: @igormxZend Framework