Re: Manejo de Tsearch

From: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Manejo de Tsearch
Date: 2009-01-07 12:10:06
Message-ID: 544607.54236.qm@web52112.mail.re2.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

----- Mensaje original ----

> De: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
> Para: pgsql-es-ayuda(at)postgresql(dot)org
> Enviado: martes 6 de enero de 2009, 19:15:32
> Asunto: Re: [pgsql-es-ayuda] Manejo de Tsearch
>
> El problema creo que tengo todo en ingles
> mirando locate
> LANG=en_US.UTF-8
> LC_CTYPE="en_US.UTF-8"
> LC_NUMERIC="en_US.UTF-8"
> LC_TIME="en_US.UTF-8"
> LC_COLLATE="en_US.UTF-8"
> LC_MONETARY="en_US.UTF-8"
> LC_MESSAGES="en_US.UTF-8"
> LC_PAPER="en_US.UTF-8"
> LC_NAME="en_US.UTF-8"
> LC_ADDRESS="en_US.UTF-8"
> LC_TELEPHONE="en_US.UTF-8"
> LC_MEASUREMENT="en_US.UTF-8"
> LC_IDENTIFICATION="en_US.UTF-8"
> LC_ALL=
>
> y teniendo las tablas en UTF-8
> solo debo cambiar LC_COLLATE por algo?
>
> cual seria ese algo?
> con que comando?
> No funcionaran mal algunas otras cosas?, les recuerdo que el server maneja
> muchas cosas, como correo, mensajeria, etc., habiendo bases de datos para
> openfire, postfiz, radius.. etc...
>
>
>
>
> En mi base de datos uso CLIENT_ENCODING='LATIN1'
> ----- Mensaje original ----
> > De: Gabriel Ferro
> > Para: Alvaro Herrera ; pgsql-es-ayuda(at)postgresql(dot)org
> > Enviado: martes 6 de enero de 2009, 17:24:04
> > Asunto: Re: [pgsql-es-ayuda] Manejo de Tsearch
> >
> >
> >
> >
> >
> > ----- Mensaje original ----
> > > De: Alvaro Herrera
> > > Para: Gabriel Ferro
> > > CC: pgsql-es-ayuda(at)postgresql(dot)org
> > > Enviado: lunes 5 de enero de 2009, 12:38:51
> > > Asunto: Re: [pgsql-es-ayuda] Manejo de Tsearch
> > >
> > > Gabriel Ferro escribió:
> > >
> > > > pero cuando hago
> > > > UPDATE padrones.personas SET isearch_nombre = to_tsvector(nombre);
> > > >
> > > > me da
> > > > ERROR: could not find tsearch config by locale
> > > > ********** Error **********
> > > > ERROR: could not find tsearch config by locale
> > > > Estado SQL:F0000
> > >
> > > Especifica el nombre de la configuracion:
> > >
> > > to_tsvector(nombre, 'default_spanish')
> > >
> > > --
> > > Alvaro Herrera Developer,
> http://www.PostgreSQL.org/
> > > Management by consensus: I have decided; you concede.
> > > (Leonard Liu)
> >
> >
> > Master, No me anduvo, me casi lo mismo
> >
> > select to_tsvector(padrones.personas.nombre,'default_spanish') from
> > padrones.personas limit 1;
> > ERROR: no tsearch config
> >
> > Entonces miro el contenido de la tabla de configuracion
> > select * from pg_ts_cfg;
> > ts_name | prs_name | locale
> > -----------------+----------+--------------
> > default | default | C
> > default_russian | default | ru_RU.KOI8-R
> > utf8_russian | default | ru_RU.UTF-8
> > simple | default |
> > default_spanish | default | es_NI
> > (5 rows)
> >
> > buscando en internet analizo
> >
> > select current_setting('lc_collate');
> > current_setting
> > -----------------
> > en_US.UTF-8
> >
> > entonces hago
> > update pg_ts_cfg set locale=current_setting('lc_collate') where
> > ts_name='default';
> >
> > y pruebo
> >
> > select to_tsvector(padrones.personas.nombre) from padrones.personas
> > limit 1;
> > to_tsvector
> > ----------------------------------
> > 'maria':2 'noelia':3 'aballay':1
> >
> > anduvo
> >
> > pero estoy usando "default" que tiene "en_US.UTF-8" cuando quiero usar
> > "default_spanish" me da el error.. no me toma es_NI...
> > tampoco se si me me estara tomando los datos de espanol.aff, .dict y .stop.
> >
> >
> >
> > que me esta pasando?
> >

En verdad nunca estuve tan desesperado... ya no se que cornos hacer....

tengo esto

select * from pg_ts_cfg;
ts_name | prs_name | locale
-----------------+----------+--------------
default_russian | default | ru_RU.KOI8-R
utf8_russian | default | ru_RU.UTF-8
simple | default |
default | default | en_US.UTF-8
default_spanish | default | en_US.UTF-8
(5 rows)

select to_tsvector('default_spanish','hola coco');
ERROR: invalid byte sequence for encoding "UTF8": 0xe16261
HINT: This error can also happen if the byte sequence does not match
the encoding expected by the server, which is controlled by
"client_encoding".

select to_tsvector('default','hola coco');
to_tsvector
-------------------
'coco':2 'hola':1
(1 row)

porque cornos me anda default y no default_spanish no lo se...
tengo el set client_encoding='LATIN1'

pero lo he probado con UTF8 y otros y me da igual

cambie el valor default_spanish de la tabla por es_NI que era el original y sigo igual....

A mi locale no lo he tocado...creo que deberia hacer
1- Agregar a /var/lib/locales/supported.d/local
es_AR.UTF-8 UTF-8
es_AR.ISO-8859-15 ISO-8859-15
y luego sudo dpkg-reconfigure locales

pero temo meter la pata....

ayuda por favor......,

Yahoo! Cocina
Recetas prácticas y comida saludable
http://ar.mujer.yahoo.com/cocina/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-01-07 12:28:28 Re: Manejo de Tsearch
Previous Message Fernando Fontana 2009-01-07 02:22:11 Re: Escribir en archivos del sistema operativo