Buen día
Tengo un proyecto en SIU-Toba, que se conecta a una base PostgreSQL 9.6, consta de varias operaciones pero entre ellas varias consultas.
Necesito utilizar las herramientas de la base para realizar consultas inteligentes, en particular quiero usar “Full Text Search”.
La tabla a la quiero aplicar las consultas es:
CREATE TABLE public.documentos
(
iddocumento integer NOT NULL DEFAULT nextval(‘documentos_iddocumento_seq’::regclass),
idarea integer,
cantidaddiasapublicar integer,
documentoapublicar boolean,
publicarapartirde date,
titulodocumento text,
resumendocumento text,
resumenapublicar text,
usuario character varying(20),
idtipodocumento integer,
fechavigenciadesde date,
fechavigenciahasta date, – Campo válido para normas que tienen caducida automática por fecha
nrodocumento integer,
aniodocumento integer,
fecharegistro timestamp without time zone,
idtipoestado integer,
idareageneradora integer,
CONSTRAINT pk_doc PRIMARY KEY (iddocumento),
CONSTRAINT fk_area FOREIGN KEY (idarea)
REFERENCES public.areas (idarea) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tipoestado FOREIGN KEY (idtipoestado)
REFERENCES public.tiposestado (idtipoestado) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT
)
WITH (
OIDS=FALSE
);
ALTER TABLE public.documentos
OWNER TO postgres;
De esta tabla necesito que la base me devuelva todos los registros cuyo campo “resumenapublicar”, incluya la palabra “resolucion” en todas sus formas posibles, mayuscula, minuscula y acentuada o no.
Probé armando las siguientes consultas:
SELECT d.iddocumento FROM documentos d
WHERE to_tsvector(d.resumenapublicar) @@ plainto_tsquery(‘resolucion’);
Devuelve dos registros, cuyos id son 76 y 81.
Si cambio la palabra a buscar por “resolucion” acentuada
SELECT d.iddocumento FROM documentos d
WHERE to_tsvector(d.resumenapublicar) @@ plainto_tsquery(‘resolución’);
Obtengo como respuestas otros 3 registros: 66,84 y 87.
De acuerdo a ejemplos que vi en la web , escriba como escriba la palabra resolución me debería devolver 5 registros 76,81,66,84 y 87.
No entiendo que estoy haciendo o mal, no se si falta que habilite alguna librería o realmente entendí mal el concepto de como funciona “Full Text Search”.
Desde ya gracias por la ayuda.
Marcela