Hola, Es la primera vez que mando mail a la lista, y quería aprovechar par decir que esta muy buena, mas allá de que todavía no haya podido contribuir con nada, creo que de leer los topics y discusiones se puede aprender bastante y me parece una muy buena iniciativa la idea que sea compartida entre desarrolladores latinoamericanos. Pero bueno, vamos a lo concreto. Recién empece a utilizar Thinking Sphinx y me funciona bárbaro para hacer full text search desde ruby, pero me queda la duda (de repente un poco básica) de que hacer cuando el usuario no escribe la palabra textual, sino un sinónimo o abreviatura de la misma. Como hacen normalmente para manejarlo? Gracias, Nico
2010/12/7 Nico <watroba@gmail.com>: > Hola, Hola Nico, > > Pero bueno, vamos a lo concreto. Recién empece a utilizar Thinking Sphinx y > me funciona bárbaro para hacer full text search desde ruby, pero me queda la > duda (de repente un poco básica) de que hacer cuando el usuario no escribe > la palabra textual, sino un sinónimo o abreviatura de la misma. > Como hacen normalmente para manejarlo? Generalmente esos son steems, o la raiz de la palabra. Para eso tenes que configurar Thinking Sphinx y Sphinx para que acepten diferentes tipos de morfologia. Más info aqui: http://freelancing-god.github.com/ts/en/advanced_config.html (Word Stemming / Morphology) Ten presente que esto depende de que tengas las librerias stemm de soporte. Ahí hay links a la documentación de Sphinx al respecto. Saludos, -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exupéry
Hola, Nico. Además de lo que te menciona Luis, tenés una forma de hacer que Sphinx indexe parte de las palabras, a través de los parámetros min_prefix_len o min_infix_len. Si bien eso aumenta notablemente el tamaño de los archivos de índices, resulta muy útil para casos tales como los autocomplete de un formulario, de manera que a medida que el usuario va tipeando parte de un texto le podés ir mostrando los resultados posibles, y todo eso sin pegarle a la base de datos. Acá tenés documentación de dichos parámetros: http://sphinxsearch.com/docs/manual-0.9.9.html#conf-min-prefix-len Saludos, Juan Schwindt. 2010/12/7 Luis Lavena <luislavena@gmail.com> > 2010/12/7 Nico <watroba@gmail.com>: > > Hola, > > Hola Nico, > > > > > Pero bueno, vamos a lo concreto. Recién empece a utilizar Thinking Sphinx > y > > me funciona bárbaro para hacer full text search desde ruby, pero me queda > la > > duda (de repente un poco básica) de que hacer cuando el usuario no > escribe > > la palabra textual, sino un sinónimo o abreviatura de la misma. > > Como hacen normalmente para manejarlo? > > Generalmente esos son steems, o la raiz de la palabra. Para eso tenes > que configurar Thinking Sphinx y Sphinx para que acepten diferentes > tipos de morfologia. > > Más info aqui: > > http://freelancing-god.github.com/ts/en/advanced_config.html > (Word Stemming / Morphology) > > Ten presente que esto depende de que tengas las librerias stemm de > soporte. Ahí hay links a la documentación de Sphinx al respecto. > > Saludos, > -- > Luis Lavena > AREA 17 > - > Perfection in design is achieved not when there is nothing more to add, > but rather when there is nothing more to take away. > Antoine de Saint-Exupéry >
Gracias Juan y Luis!! Buenisimo, voy a probar! 2010/12/7 Juan Schwindt <juan@schwindt.org> > Hola, Nico. > > Además de lo que te menciona Luis, tenés una forma de hacer que Sphinx > indexe parte de las palabras, a través de los > parámetros min_prefix_len o min_infix_len. Si bien eso aumenta notablemente > el tamaño de los archivos de índices, resulta muy útil para casos tales como > los autocomplete de un formulario, de manera que a medida que el usuario va > tipeando parte de un texto le podés ir mostrando los resultados posibles, y > todo eso sin pegarle a la base de datos. > > Acá tenés documentación de dichos parámetros: > http://sphinxsearch.com/docs/manual-0.9.9.html#conf-min-prefix-len > > Saludos, > Juan Schwindt. > > 2010/12/7 Luis Lavena <luislavena@gmail.com> > > 2010/12/7 Nico <watroba@gmail.com>: >> > Hola, >> >> Hola Nico, >> >> > >> > Pero bueno, vamos a lo concreto. Recién empece a utilizar Thinking >> Sphinx y >> > me funciona bárbaro para hacer full text search desde ruby, pero me >> queda la >> > duda (de repente un poco básica) de que hacer cuando el usuario no >> escribe >> > la palabra textual, sino un sinónimo o abreviatura de la misma. >> > Como hacen normalmente para manejarlo? >> >> Generalmente esos son steems, o la raiz de la palabra. Para eso tenes >> que configurar Thinking Sphinx y Sphinx para que acepten diferentes >> tipos de morfologia. >> >> Más info aqui: >> >> http://freelancing-god.github.com/ts/en/advanced_config.html >> (Word Stemming / Morphology) >> >> Ten presente que esto depende de que tengas las librerias stemm de >> soporte. Ahí hay links a la documentación de Sphinx al respecto. >> >> Saludos, >> -- >> Luis Lavena >> AREA 17 >> - >> Perfection in design is achieved not when there is nothing more to add, >> but rather when there is nothing more to take away. >> Antoine de Saint-Exupéry >> > >
Nico: alguien te comentó indexar y no pegarla a la base de datos. Eso es muy importante, quizás lo sabes pero queda anotado para algun futuro lector. El problema de velocidad suele ser el ancho de banda y/o la base de datos. Entonces metemos algunos contenidos en archivos. Algunos usan la palabara caché, porque los fabricantes de hardware desarrollan una memoria más rápida que la ram, pero es chica porque es costosa y a eso llamaron memoria cache. El acceso a contenido de un archivo es más rápido que el acceso al contenido de la base de datos. -- Gustavo C [mutt] twitter: @fromgus