Alvaro:

Antes que nada gracias!

Entiendo lo que decís acerca de que en la condición like '%cadena_de_texto%' entrarían cosas que el FTS no toma (palabras con prefijo, etc), pero en este caso y analizando algunos de los resultados arrojados por el like aparece palabra 'bilingue' y por algún motivo el FTS no las trae.

El stem en este caso es 'biling' y está en los campos tipo ts_vector de las filas que analicé y que el FTS no trajo.

Voy a ver que encuentro con el ts_debug.

Saludos

El 25/07/2011 03:01 p.m., Alvaro Herrera escribió:
Excerpts from Rodolfo Paparás's message of lun jul 25 12:48:31 -0400 2011:

SELECT * FROM atributos_contactos WHERE valor_cadena like '%bilingue%';

Por otra parte, si utilizo funcionalidades de FTS y uso como criterio un
campo generado en base al anterior mediante la función to_tsvector
(select to_tsvector('spanish',valor_cadena)) y habiendo generado además
un indice tipo gin para dicho campo, obtengo como resultado solamente 4
líneas en 32 milisegundos.

SELECT * FROM atributos_contactos WHERE valor_cadena_index @@
to_tsquery('bilingue'); --
Yo partiría por verificar los resultados: primero cuál es el stem (??)
que se está buscando con FTS (prueba ts_debug), segundo ver cuál es el
stem de los términos que se encuentran con LIKE.  Ten presente que si la
palabra es babilingue (o cualquier tontera con un prefijo antes de la
palabra), la expresión LIKE lo encontrará pero el FTS no.




--
Rodolfo

-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a