deSymfony 2013

Sphinx y su integración con Symfony2

Asier Ramos  · 

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

bueno pues vamos a empezar con la charla buenas tardes a todos y bueno muchísimas gracias por haber venido no esperaba que hubiese tanta gente la verdad estoy bastante asombrado pero bueno bueno muchas gracias por venir sé que es la última charla de este año

estaremos todos bastante cansados y con ganas de acabar ya y bueno tomarnos unas cervezas o disfrutar de que todo ha salido bien y bueno y darnos un abrazo europeo dar las gracias como siempre a los patrocinadores porque hacen posible que bueno que cada año

estemos aquí y que bueno podemos estar dando charlas algunas más interesantes que otras pero bueno pido disculpas si no nos parece interesante vais para empezar y bueno da las gracias a todos ellos porque bueno hacen esto posible que podemos tener un sitio

como éste que tengamos comidas así que vamos a ir mi nombre es así ramos nació en bilbao hace 27 años va a ser un pueblo a 30 kilómetros de bilbao haciendo publicidad así me pagan algo así y desde hace un año estoy trabajando en madrid actualmente trabajo

en a cilia que es uno de los los patrocinadores del evento y bueno pues como creo que cada persona debería debería ser en encanto sana debería ser soy un apasionado del desarrollo web que es a lo que me dedico actualmente bueno creo que si es cocinero te deberías

apasionarte por tu trabajo soy una versión del desarrollo que es lo que me dedico pilot en otras dos pasiones que es la música y el ciclismo con ello no me pude dedicar la vida lo intenté pero se me da muy mal así que tuve que decirme por dar por informática

y bueno y este es mi twitter no esperéis demasiadas cosas interesantes pero bueno de vez en cuando algo de música o lo que sea de qué voy a hablar pues voy a hablar de things que sabemos que es un servidor de búsquedas full text search y cómo nos puede ayudar

en nuestra aplicación a realizar búsquedas porque bueno todos ahora mismo todos tenemos nuestro blogs nuestra página personal o lo que sea y una de las necesidades que tenemos es siempre necesitamos realizar búsquedas es importante que tú no puedes tener 300

artículos y no tenerlos ordenados de ninguna forma no puedes buscar tengas que ir uno a uno bueno en muchos blogs es visto únicamente lo de all there post y bueno no es no es algo que sea fácil de buscar entonces me gustaría buscar por varios campos y que

si nosotros estamos buscando algo concreto que nos muestre los resultados como mínimo relevancia que no busquemos por ejemplo un coche de bebé y nos está ofrendó un mercedes benz no tiene mucho sentido entonces vamos a ver cómo podemos hacer eso con sphinx

y cómo aplicarlo a nuestras nuestras aplicaciones lo primero que nos viene a la mente pues es mysql o lo que suele ser ver lo que estemos utilizando y se nos viene un like realizar pues por ejemplo si buscamos en nuestro en nuestro blog los posts que hemos

escrito sobre symphony 2 pues likes symphony 2 y a ver que nos saca eso bueno es una opción es la primera que nos viene a la mente pero bueno no sé si es la más eficiente no realmente no lo es porque pues porque no es demasiado eficiente en cuanto a rendimiento

luego tampoco es muy configurable es decir nosotros podemos buscar por un campo por dos por tres pero no es algo muy configurable o sea no puedes no puedes buscar por tres campos a la vez no sé no es útil demasiado útil para este tipo de búsquedas parte no

es nada configurable no le puedes decir qué palabras te tiene que no tendría que buscarte o que te bicicletas a bici es bicicleta o cosas así en dos bueno hay muchas mejores formas de hacerlo que con un like evidentemente como solucionaríamos pues no hay perdón

a los nervios no lo solucionaríamos con un servidor de hoy de búsquedas nos da bastante más rendimiento que mysql en muchas consultas si veis por ahí benchmark y demás pues veréis que hasta un 15 20 por ciento incluso en consultas más complejas bastante más

luego la modularidad que nos da nos da siempre resultados por relevancia qué es lo que os segunda antes que podamos tener unos resultados en función de qué estamos buscando no que nos busquen pues lo que he dicho antes un volkswagen un volcán golf nos saque

palos de golf y volar de gol no tiene ningún sentido y nos da mucha potencia búsqueda o sea realmente es mucho más útil para buscar que mysql con su live y su igual y para estas zonas hay varias alternativas en el mercado es tan luz en apache solar elastic

search y sphinx estas tres primeras están basadas en dulce y bueno la última y están escritas en java y luego está sphinx que es nuestra existencia más más y desde la que vamos a hablar hoy porque vamos hablar desde sphinx pues porque realmente yo cuando empecé

tuve la necesidad de un servidor de búsquedas pues era el que mejor se adaptaba a nuestras características es muy sencillo de instalar y bueno la verdad que no son básicamente las necesidades que tenemos las las cubrimos es muy muy rápido en el indexado o

sea tiene una capacidad creo que de 10 megas a 15 megas de por segundo de indexación de datos es muy fácil de instalar simplemente con acceder al repositorio de nuestra distribución ya lo tendríamos instalado también es muy fácil muy fácil de configurar o

sea simplemente tiene un archivo de configuración que más tarde veremos y la verdad que es muy fácil tiene integración 100% mysql vale esto quiere decir tiene muchos orígenes de datos pues ya puedes trabajar con sql server pues trabajar con mysql con postre

puedes meterle archivos xml o sea pues hacerlo con muchas cosas pero con mysql de integración cien por cien tiene hasta un hasta un modo en el que puedes acceder en modo comando y hacerlas las consultas en la consola mysql tiene una muy buena integración con

php y otros lenguajes mediante una app y nativa o como he dicho mediante accediendo por la consola mysql y sobre todo una muy buena documentación y muchísimos recursos tienes muy raro que busquéis algo queréis hacer algo en skins y si se puede hacer que evidentemente

todo el 100% que queráis no se podrá pero si se hace es muy raro que no encontráis en internet documentación sobre cómo hacerlo por lo cual es muy muy fácil hacer las cosas con ellos programando sphinx vale voy a hablar de cinco partes la instalación y la

configuración que bueno básicamente para es muy sencillito pero para que la gente tenga una idea de cómo puede empezar a trabajar con ello que no siempre no siempre todo el mundo sabe y bueno luego el indec ser el demonio que realizará las búsquedas y luego

un poco de cómo podíamos realizar búsquedas con algún tipo de algunos ejemplos de consultas y cómo nos sacaría los resultados aquí vamos a empezar con la instalación vale he puesto la instalación sobre sobre ubuntu bueno luego los que utilicéis redhat fedor

además con repente no podéis instalarlos pues bajarlo si no con un defenderían o lo que sea pero bueno lo voy a instalar como el app es fin search o si queréis vuestros descargaros las las fuentes y compilar las es muy sencillo no tiene muchas historias si

os bajéis las las fuentes lo único en configure pues es que puedes decir dónde queréis que se instale como en toda aplicación si quieres utilizarlo con mysql o campo de sql o si no esto es bueno es muy amigo es muy sencillito la configuración vale voy a explicar

realmente cómo se configuran los índices y los orígenes de datos para que empezar a hacer realizar búsquedas y poder poder realizar búsquedas y traernos los traernos los datos solo tienen un único archivo de configuración bueno un único archivo me refiero

para que tú pueda realizar búsquedas con un archivo único archivo vale evidentemente puedes tener varios skins con diferentes archivos de configuración pero es un único archivo por cada instancia de delfines que tengamos en él se definen las conexiones los

índices y los orígenes de datos en negro pues configurar partes como las stop words que serían las palabras con las que no quisiéramos la relevancia preposiciones numeroso word forms que serían las palabras que tendríamos mal escritas por ejemplo pues no sé

se me ocurre que si tú escribes webs que no sé cuántos aquí se sabréis se escribe esa palabra pero bueno si escribes webs y se te olvida al hacer el principio porque es ese chw pps para que no sepa se te olvida la h el principio pues no me puedes decir que

[ ... ]

Nota: se han omitido las otras 4.016 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.