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";"<b>FERRER</b> 
> <b>GABRIEL</b> ALEJANDRO";0.1
> "FERRER GABRIELA SUSANA";"'ferr':1 'susan':3 'gabriel':2";"<b>FERRER</b> 
> <b>GABRIELA</b> SUSANA";0.1
> "FERRADA GABRIELA ALEJANDR";"'ferr':1 'gabriel':2 
> 'alejandr':3";"<b>FERRADA</b> <b>GABRIELA</b> ALEJANDR";0.1
> "FERRANDO GABRIELA MARISA";"'ferr':1 'maris':3 'gabriel':2";"<b>FERRANDO</b> 
> <b>GABRIELA</b> MARISA";0.1
> "RIVERA FERRADA GABRIEL H";"'h':4 'ferr':2 'river':1 'gabriel':3";"RIVERA 
> <b>FERRADA</b> <b>GABRIEL</b> H";0.1
> "FERRO GABRIELA";"'ferr':1 'gabriel':2";"<b>FERRO</b> <b>GABRIELA</b>";0.1
> "FERRE GABRIELA ANGELICA";"'ferr':1 'angel':3 'gabriel':2";"<b>FERRE</b> 
> <b>GABRIELA</b> ANGELICA";0.1
> "FERRO GABRIELA ANDREA";"'ferr':1 'andre':3 'gabriel':2";"<b>FERRO</b> 
> <b>GABRIELA</b> ANDREA";0.1
> "FERRO GABRIELA MARIA ESTH";"'esth':4 'ferr':1 'mari':3 
> 'gabriel':2";"<b>FERRO</b> <b>GABRIELA</b> MARIA ESTH";0.1
> "FERRO GABRIEL RAMIRO";"'ferr':1 'ramir':3 'gabriel':2";"<b>FERRO</b> 
> <b>GABRIEL</b> 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)
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
    (envía "unregister TuDirecciónDeCorreo" a [email protected])

Responder a