Busquedas de partes de una palabra con Sphinx

Necesito “tunear” las busquedas en un proyecto y hacer matching con
partes
de una palabra y no con la palabra entera, vaya, al más puro estilo
“campo
LIKE %quey%”. Utilizo Ultrasphinx y he estado mirando la documentación
pero
no encuentro la manera de especificarle esta opción.
Podeis echarme una mano?

Hola Emili,

Usando el caracter comodin asterisco (*) en la cadena de búsqueda es
como
funcionan las búsquedas parciales en Sphinx. Con lo cual podés utilizar
el
string “query” para el ejemplo que distes.
Un consejo: te recomiendo ThinkingSphinx [1] en lugar de UltraSphinx,
tiene
una sintaxis un poco más “rubysta” y es quizás más fácil de configurar.

Saludos,

Ariel Diaz

[1] http://ts.freelancing-gods.com/

El 7 de noviembre de 2008 5:10, Emili Parreño [email protected]
escribió:

Gracias Ariel por la recomendación, lo estoy probando y me gusta mucho.
Respecto a la solución que me has dado, no se si tu lo has probado pero
a mi
no me funciona. He instalado thinking_sphinx i cuando hago la cosulta le
pongo los asteriscos

User.search “emili

Debería devolver 1 resultado que es emiliabc, pero no lo encuentra.

El 7 de noviembre de 2008 11:30, Ariel
[email protected]escribió:

Solucionado, al final hay que acabar simpre indagando en el código. Os
cuento:Por defecto sphinx hace el match completo con la palabra/s que le
pasemos en la query. Para poder buscar fragmentos de palabras hay que
habilitar el parámetro enable_star, en el archivo de configuración, en
la
seccion index:
enable_star = 1
min_infix_len = 1 min_prefix_len = 1

min_prefix_* indica el mínimo de carà cteres que debe haber antes i
despues
del fragmento que buscamos, así si estamos buscando “ama”,
con los valores de arriba:
“amar” => no match
“mama” => no match
“mamar” => match

Si utilizáis el plugin thinking_sphinx, al loro porque hay un bug. En
teoria
si creamos un archivo sphinx.yml en /config podemos sobreescribir los
valores por defecto de los parámetros de configuracion (directorio del
pid,
de los logs, max memoria…), pero el archivo del plugin que parsea el
sphinx.yml y lo convierte en un archivo de configuración de sphinx no
hace
bien precisamente lo que yo necesitaba ( hola Murphy!) habilitar el
enable_star, además de que tiene otros errores.

Voy a enviar un parche al autor para que lo corrija, si necesitáis más
detalles me podéis enviar un email.

Hoy ya me he ganado la cena.

El 7 de noviembre de 2008 16:18, Xavier N. [email protected]
escribió:

2008/11/7 Emili Parreño [email protected]:

Gracias Ariel por la recomendación, lo estoy probando y me gusta mucho.
Respecto a la solución que me has dado, no se si tu lo has probado pero a mi
no me funciona. He instalado thinking_sphinx i cuando hago la cosulta le
pongo los asteriscos
User.search “emili
Debería devolver 1 resultado que es emiliabc, pero no lo encuentra.

Sphinx tiene varios tipos de busqueda. Hay que habilitar ese tipo, que
no es el que se usa por defecto. No recuerdo como se hace de memoria
pero va el mail por si te ayuda a avanzar, el keyword seria “star” o
por ahi cerca.