Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group