----- Mensaje original ----
> De: Alvaro Herrera <alvhe...@alvh.no-ip.org>
> Para: Gabriel Ferro <gabrielrfe...@yahoo.com.ar>
> CC: pgsql-es-ayuda@postgresql.org
> Enviado: martes 27 de enero de 2009, 12:35:40
> Asunto: Re: [pgsql-es-ayuda] Usasando Tsearch en 8.3
> 
> Gabriel Ferro escribió:
> 
> > 1º problema: ahora lo quiero hacer con un trigger y encontre que se hace con
> > 
> > CREATE TRIGGER triggerpersonas BEFORE INSERT OR UPDATE
> > ON personas FOR EACH ROW EXECUTE PROCEDURE  
> tsvector_update_trigger('vectornombre', 'pg_catalog.spanish', 'nombre');
> > 
> > pero no encuentro como hacerlo para cuando tengo dos campos tsvector.
> 
> ¿Dos triggers?
> 
> > 2º problema cuando hago 
> > 
> > SELECT nombre,vectornombre,ts_headline(nombre,q), 
> >    ts_rank_cd(vectornombre,q) 
> >    FROM personas, 
> >    to_tsquery('FERRO&GABRIEL') AS q 
> >    WHERE vectornombre @@ q ORDER BY ts_rank_cd(vectornombre,q) DESC;
> > 
> > entre los primeros me 
> > 
> > "FERRER GABRIEL ALEJANDRO";"'ferr':1 'gabriel':2 'alejandr':3";"FERRER 
> GABRIEL ALEJANDRO";0.1
> > "FERRER GABRIELA SUSANA";"'ferr':1 'susan':3 'gabriel':2";"FERRER 
> GABRIELA SUSANA";0.1
> > "FERRADA GABRIELA ALEJANDR";"'ferr':1 'gabriel':2 
> 'alejandr':3";"FERRADA GABRIELA ALEJANDR";0.1
> > "FERRANDO GABRIELA MARISA";"'ferr':1 'maris':3 'gabriel':2";"FERRANDO 
> GABRIELA MARISA";0.1
> > "RIVERA FERRADA GABRIEL H";"'h':4 'ferr':2 'river':1 'gabriel':3";"RIVERA 
> FERRADA GABRIEL H";0.1
> > "FERRO GABRIELA";"'ferr':1 'gabriel':2";"FERRO GABRIELA";0.1
> > "FERRE GABRIELA ANGELICA";"'ferr':1 'angel':3 'gabriel':2";"FERRE 
> GABRIELA ANGELICA";0.1
> > "FERRO GABRIELA ANDREA";"'ferr':1 'andre':3 'gabriel':2";"FERRO 
> GABRIELA ANDREA";0.1
> > "FERRO GABRIELA MARIA ESTH";"'esth':4 'ferr':1 'mari':3 
> 'gabriel':2";"FERRO GABRIELA MARIA ESTH";0.1
> > "FERRO GABRIEL RAMIRO";"'ferr':1 'ramir':3 'gabriel':2";"FERRO 
> GABRIEL RAMIRO";0.1
> > y otros tantos mas
> 
> Todos tienen el mismo rank 0.1 ... ¿quizás tu problema es la forma como
> está definida la función ts_rank_cd?  Si te fijas todos tienen "gabriel"
> y "ferr" en el tsvector.
> 
> -- 
> Alvaro Herrera                        http://www.advogato.org/person/alvherre
> "Las navajas y los monos deben estar siempre distantes"   (Germán Poo)
> --


Problema 1... ¿dos trigger? no.  el trigger llama a la funcion que se llama 
tsvector_update_trigger pero esta es solo par actualizar un campo tsvector y yo 
tengo dos campos de este tipo... de todas maneras lo resuelvo sencillo.. el 
trigguer llama a una funcion que contiene los dos tsvector_update_trigger (una 
para cada campo).
Problema2... Si en efecto le dio 0.1 a todos....la cosa es como arreglar esto.. 
creo que el problema ya parte desde el comienzo puesto que el campo tsvector 
vectornombre=gin('spanish',nombre)
y es este el que tiene valores iguales para personas distintas....


      Yahoo! Cocina
Recetas prácticas y comida saludable
http://ar.mujer.yahoo.com/cocina/
--
TIP 1: para suscribirte y desuscribirte, visita 
http://archives.postgresql.org/pgsql-es-ayuda

Responder a