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

Responder a