Re: Usasando Tsearch en 8.3

From: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Usasando Tsearch en 8.3
Date: 2009-01-28 10:57:18
Message-ID: 605767.49477.qm@web52105.mail.re2.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

----- Mensaje original ----
> De: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
> Para: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
> CC: pgsql-es-ayuda(at)postgresql(dot)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/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-01-28 11:51:08 Re: Cambio el Asunto por OT Sistemas Operativos Fedora
Previous Message Gabriel Hermes Colina Zambra 2009-01-28 00:55:57 Re: Cambio el Asunto por OT Sistemas Operativos Fedora