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