Re: FTS

From: Agustin Ignacio Genoves <agustingenoves(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: FTS
Date: 2009-06-18 03:03:49
Message-ID: d50beba10906172003w61924c20oe2a01bb3ef20479b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 17 de junio de 2009 23:31, Alvaro Herrera<alvherre(at)alvh(dot)no-ip(dot)org> escribió:
> Agustin Ignacio Genoves escribió:
>> Queria preguntar si alguien me puede ayudar con el tema de el rank en
>> FTS. Yo ya cree la tabla con una columna de tipo tsvector y luego hago
>> la siguiente consulta
>>
>> SELECT nombre,nombre_tsv, ts_rank_cd(nombre_tsv, query, 16) AS rank
>> FROM calles_final, to_tsquery('juan & manuel') query
>> WHERE query @@ nombre_tsv
>> ORDER BY rank DESC LIMIT 10;
>> y me retorna lo siguiente
>>
>> "JUAN MANUEL DE ROSAS";"'ros':4 'juan':1 'manuel':2";0.05
>> "JUAN MANUEL FANGIO";"'juan':1 'fangi':3 'manuel':2";0.05
>> "JUAN MANUEL DE ROSAS";"'ros':4 'juan':1 'manuel':2";0.05
>> "JUAN MANUEL DE ROSAS";"'ros':4 'juan':1 'manuel':2";0.05
>> "JUAN MANUEL ZAMUDIO";"'juan':1 'manuel':2 'zamudi':3";0.05
>> "JUAN MANUEL FANGIO";"'juan':1 'fangi':3 'manuel':2";0.05
>> "JUAN MANUEL DE LABARDEN";"'juan':1 'labard':4 'manuel':2";0.05
>> "JUAN MANUEL DE ROSAS";"'ros':4 'juan':1 'manuel':2";0.05
>> "JUAN MANUEL DE PUEYRREDON";"'juan':1 'manuel':2 'pueyrredon':4";0.05
>> "JUAN MANUEL DE ROSAS";"'ros':4 'juan':1 'manuel':2";0.05
>>
>> Lo que no logro interpretar el el 0.05 que me devuelve. Si alguien me
>> dauna mano con esto se lo agradeceria y si me explican los weights
>> (D,C,B,A) les agradeceria mucho.
>
> No conozco el significado exacto del valor, pero lo importante es cómo
> se compara el valor de una fila con el valor de otra.  Si dos filas
> tienen el mismo "rank", son igualmente "coincidentes" para la búsqueda
> (por eso haces ORDER BY rank DESC: para obtener las filas más relevantes
> para el criterio de búsqueda dado).
>
> --
> Alvaro Herrera       Valdivia, Chile   ICBM: S 39º 48' 55.3", W 73º 15' 24.7"
> "XML!" Exclaimed C++.  "What are you doing here? You're not a programming
> language."
> "Tell that to the people who use me," said XML.
>

Ok, entiendo que el valor es para saber si son coincidentes, lo que me
da vueltas en la cabeza son los pesos (weights). No se si entendi bien
pero ¿se usan para dar mas importancia al lugar que ocupa la palabra?.
Tambien me queda claro que esto sirve para buscar palabras en un texto
y acelerar las busquedas, ahora bien yo estoy tratando de realizar una
busqueda de calle. El usuario ingresa una calle y le debo retornar una
calle, en caso de ser coincidente 100% o retornar una lista con las
mas probables, para esto use algoritmos de distancia (levenshtein,
dice, jaccard, etc.) pero ¿conocen algo mas? ¿hay algo ya trabajado?
desde ya muchas gracias

In response to

  • Re: FTS at 2009-06-18 02:31:31 from Alvaro Herrera

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message gorka 2009-06-18 09:50:45 Re: problema con parametros timestamp en plpgsql
Previous Message Alvaro Herrera 2009-06-18 02:31:31 Re: FTS