FTS

From: "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: FTS
Date: 2016-08-10 16:32:08
Message-ID: CANm+PCB7sOcaH43ziDwrXgBRW=0uMSQS7hQj+xMRYZOAKhgKbA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenas tardes , he leído sobre el tema Postgres y FTS en varios sitios y lo
he utilizado varias veces pero al decir verdad, sigo entendiendolo muy poco.
Si alguno tiene tiempo y puede ayudarme, les comento mi inquietud.

Tengo la siguiente consulta:
SELECT *
FROM tescrito t
WHERE to_tsvector('spanish',escritodtxt) @@ to_tsquery('spanish','*salta*
')

y tengo un índice creado

CREATE INDEX fts_escritodtxt ON public.tescrito
USING gin (to_tsvector('spanish'::regconfig, escritodtxt));

La tabla tiene 65300 registros
El planificado me dice que realizará un seq scan y de hecho, la consulta
demora mucho.
Si cambio la palabra a buscar, por ejemplo por 'casa'
SELECT *
FROM tescrito t
WHERE to_tsvector('spanish',escritodtxt) @@ to_tsquery('spanish','*casa*')

Entonces demora menos y el planificador ahora dice que si utilizará el
índice.

Preguntas:
En que se basa postgres para decidir si utiliza o no el índice si lo único
que cambié es la palabra a buscar?
Será que el tsquery de 'salta' es una palabra que no se indexa?
Para el caso de 'spanish' Aparte de crear el índice es necesario crear o
configurar algo mas?
Desde ya les agradezco la ayuda que me puedan brindar.
Saludos

Guillermo

Responses

  • Re: FTS at 2016-08-10 20:52:01 from Anthony Sotolongo

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony Sotolongo 2016-08-10 20:52:01 Re: FTS
Previous Message Maria Antonieta Ramirez 2016-08-10 16:05:08 monitoreo de base de datos postgres