----- 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