Re: Duda acerca Tsearch con acentos

From: Juan <smalltalker(dot)marcelo(at)gmail(dot)com>
To: "Eduardo Arenas C(dot)" <edomax(at)gmail(dot)com>
Cc: Hugo César <hugocesar49(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Duda acerca Tsearch con acentos
Date: 2011-08-16 17:53:50
Message-ID: CAKizN9zB3ZEHZgMiCb5Z8Mo6FB-U8i9=N9jWD2mPjyKcwH4TsQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gente

Hace tiempo mantengo un sistema que desarrolle en postgres 8.4.
Muchas de las funciones de matching son para el ingles. :( . me vi
en la necesidad de reescribirlas en C y en algunos casos hacerlas de nuevo
respetando el algorithmo pero para valores castellanos. tal
vez hoy en dia no sea asi y escribo esto sin sentido, pero sino, estan avisados
salu2
mdc

2011/8/16 Eduardo Arenas C. <edomax(at)gmail(dot)com>:
>     Estimados, estoy interesado en el tema, principalmente apuntando al
> procesamiento de lenguaje natural, pero pienso y por lo que he visto en esta
> lista primero tenemos que leer la documentación en este caso de tsearch
> (estoy en esto). (http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/)
>      Por lo poco que he visto, estas cosas se pueden complementar con
> funciones que sirven para determinar el parecido de una palabra con otra en
> base a diferentes técnicas, por si alguien se equivoca al escribir (adjunto
> link http://www.postgresql.org/docs/8.3/static/fuzzystrmatch.html). Además
> del conocido "like"
>      Quizas sumar  algún kit de procesamiento de lenguaje natural,
> dependiendo del alcance de lo que quieras
> hacer: ( http://en.wikipedia.org/wiki/List_of_natural_language_processing_toolkits )
>
> saludos
> Eduardo.
>
> El 16 de agosto de 2011 08:21, Hugo César <hugocesar49(at)gmail(dot)com> escribió:
>>
>> Gracias Roberto y Rodolfo por interesarse en el tema...
>>
>>
>> Efectivamente, coincido con ustedes, de ahi que me decidi a enviar la duda
>> a la lista, esta funcionalidad de postgre se comporta
>> algo extraña, porque como comenta Roberto busca palabras "parececidas"
>> pero... entonces, que pasa con la palabra "funcion" ??
>> porque no sucede lo mismo??, es decir, de la palabra "funcion" podemos
>> obtener palabras parecidas como funcionalidad, funcional, etc.
>> sin embargo, cuando ejecuto  select to_tsvector('spanish','función'); no
>> me devuelve "funci:1" me devuelve "funcion:1", es aqui
>> donde esta confuso... acaso esto quiere decir que no me arrojara palabras
>> parecidas ?? solo exactas ?? como saber que palabras
>> las encontrara exactas y cuales parecidas ?? que proceso adicional tengo
>> que realizar para solucionar este detalle ??
>>
>>
>> Saludos y ojala alguien con mucha mas experiencia que nosotros en el tema
>> nos pueda ayudar un poco mas.
>>
>>
>> Saludos!!
>>
>>
>>
>>
>>
>> El 15 de agosto de 2011 20:48, Rodolfo Paparás <rodo(at)globalmargin(dot)com>
>> escribió:
>>>
>>> Yo entiendo algo parecido a lo que dice Roberto. FTS compara cada palabra
>>> con un diccionario de lexemas y ahí hace la vinculación por familia de
>>> palabras más que por similitud.
>>>
>>> Pero también veo que se comporta raro con palabras con tilde o diéresis
>>> tanto en las búsquedas sobre campos de texto como en las que utilizan
>>> índices gin o gist.
>>>
>>> Si comparo un query usando FTS con otro usando LIKE en algunos casos el
>>> segundo me devuelve más resultados contrario a lo que uno creería, no?
>>>
>>> Si le encontrás la vuelta por favor postealo.
>>>
>>> Saludos
>>>
>>> PD.: Yo estoy trabajando sobre un 8.4.7 en CENTOS x64
>>>
>>>
>>> El 15/08/2011 05:11 p.m., Roberto M. Ruiz S. escribió:
>>>>
>>>> El 15/08/2011 14:53, Hugo César escribió:
>>>>>
>>>>> Que tal lista!
>>>>>
>>>>>
>>>>> Les comento... recien he configurado Tsearch sobre PostgreSQL9 en
>>>>> Windows, sin embargo, al
>>>>> estar realizando algunas pruebas me aparecieron algunas dudas, las
>>>>> cuales les planteo a continuacion:
>>>>>
>>>>> Ejecuto las siguientes sentencias tsvector para probar lo que se
>>>>> refiere a los acentos y funcionan
>>>>> de maravilla!!!
>>>>>
>>>>> select to_tsvector('spanish','función');
>>>>> 'funcion':1
>>>>>
>>>>> select to_tsvector('spanish','funcion');
>>>>> 'funcion':1
>>>>>
>>>>>
>>>>> Sin embargo, al hacer la misma prueba, pero con la palabra
>>>>> "administración", los resultados son
>>>>> diferentes, en el primer resultado me arroja la palabra exactamente
>>>>> como la necesito (sin el acento),
>>>>> pero en el segundo resultado me trunca la palabra, alguien sabe
>>>>> porque?? acaso no se supone que
>>>>> me deberia regresar la misma palabra pero sin el acento ?? o como se
>>>>> supone que funciona el
>>>>> diccionario ??
>>>>>
>>>>> select to_tsvector('spanish','administracion');
>>>>> 'administracion':1
>>>>>
>>>>> select to_tsvector('spanish','administracion');
>>>>> 'administr':1
>>>>>
>>>>> Este detalle me esta afectando al momento de hacer las consultas, ya
>>>>> que si busco esa
>>>>> palabra con acentos me arroja una cantidad diferente que si la busco
>>>>> con el acento.
>>>>>
>>>>> Acaso algo configure mal ??  Configure el diccionario unnacent
>>>>> siguiendo las instrucciones de la pagina
>>>>> oficial... http://www.postgresql.org/docs/current/static/unaccent.html
>>>>>
>>>>> Ojala alguno de ustedes me pudiera orientar mas al respecto...
>>>>>
>>>>> Saludos cordiales.
>>>>>
>>>>> Hugo.-
>>>>>
>>>> No manejo bien el tema pero, observo que esta usando esa funcionalidad
>>>> para buscar con o sin acento pero lo que yo tengo entendido, es que la idea
>>>> es buscar cualquier palabra "PARECIDA", es decir con administración se puede
>>>> encontrar administrar, administrador, administradora, etc. la idea si no
>>>> estoy mal es que se genera como una palabra raíz que es común a todas
>>>> palabras "PARECIDAS" y así las encuentra.
>>>> -
>>>> Enviado a la lista de correo pgsql-es-ayuda
>>>> (pgsql-es-ayuda(at)postgresql(dot)org)
>>>> Para cambiar tu suscripción:
>>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>>>
>>>
>>> -
>>> Enviado a la lista de correo pgsql-es-ayuda
>>> (pgsql-es-ayuda(at)postgresql(dot)org)
>>> Para cambiar tu suscripción:
>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>
>
>
>
> --
>                     Eduardo Arenas Castillo.
>       Red de Centros de Salud Familiar UC - Ancora
>                           Santiago - Chile
>         of. + 56 2 5814 740 - cel. +56 9 6629 1618
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-08-16 18:32:33 Re: Duda acerca Tsearch con acentos
Previous Message Eduardo Arenas C. 2011-08-16 16:54:22 Re: Duda acerca Tsearch con acentos