From: | "Eduardo Arenas C(dot)" <earenasc(at)uc(dot)cl> |
---|---|
To: | "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: FTS |
Date: | 2016-05-03 13:05:01 |
Message-ID: | CAEe4h9pCaowyLLdpeigbafYV+-PPhjLvsatPNrHNMGiymXKLKQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Guillermo,
De lo que entiendo, o que deberías generar es una columna tipo tsvector en
tu tabla a partir de la columna donde tiene es texto. y esa columna tipo
tsvector indexarla, y ahí no sería necesario utilizar el coalesce. En
general he visto que cuando haces algún calculo o un cast sobre una columna
en el where como el tuyo la búsqueda se va a secuencial y no utiliza los
indices.
Saludos
El 3 de mayo de 2016, 09:56, Guillermo E. Villanueva<guillermovil(at)gmail(dot)com>
escribió:
> Buenos días cómo están?
> Les comento una experiencia con full text search.
> En una tabla que tengo unos 120mil registros creé un índice para hacer FTS
> de la siguiente forma:
> CREATE INDEX fts_escritodtxt
> ON tescrito
> USING gin
> (to_tsvector('spanish'::regconfig, escritodtxt));
>
> cuando hago un explain de la sentencia:
> SELECT
> t.escritoid,
> t.escritofecfirma,
> t.escritotipojuz
> FROM
> tescrito t
> WHERE
> to_tsvector('spanish',coalesce(escritodtxt,'')) @@
> to_tsquery('spanish','hogar & vereda');
>
> Me dice que *no utilizará el índice* creado y con una búsqueda secuencial
> demora aproximadamente 4 minutos.
> Pero si elimino el coalesce, entonces si usa el índice y el resultado se
> obtiene en menos de un segundo!!!
> *¿Es este el comportamiento esperado?* No pasa lo mismo con los índices
> no fts.
> Desde ya muchas gracias por sus comentarios
>
> Saludos
>
> Guillermo
>
--
--
Eduardo Arenas
Jefe de Unidad de Gestión de Información
Ancora UC
- Chile
+56 9 6629 1618
+56 22 944 9098
From | Date | Subject | |
---|---|---|---|
Next Message | Hellmuth Vargas | 2016-05-03 14:35:00 | Re: FTS |
Previous Message | Guillermo E. Villanueva | 2016-05-03 12:56:50 | FTS |