claves fantasma

1 view
Skip to first unread message

Horacio Degiorgi

unread,
Jul 4, 2005, 12:58:55 PM7/4/05
to cat...@googlegroups.com
Hola:
Estoy con algunas dudas sobre  el proceso de indexación.
Pasos
1.Grabo un nuevo registro con el título DINOSAURIO.
2. voy al listado de terminos del diccionario y aparece un hit para DINOSAURIO. Verifico esto con ifkeys desde la linea de comando.
3. modifico el registro con catalis cambiando el titulo por PERRO.
4. Ahora aparecen tanto DINOSAURIO como PERRO en el diccionario de terminos ambos con 1 hit. Esto tambien es verificable con ifkeys. Y por supuesto se presenta resultados tanto para perro como para dinosaurio.

Tambien tengo que aclarar que otros terminos tienen hits = 0 (que sería lo correcto ) en algunas claves que ya no existen en el mst.

Porque se generan estas claves sin dejar en 0 los hits de las anteriores?


Plataforma linux, 3 registros en la base de datos sin error aparente en otro lado.

saludos




Preguntas:
1. de donde sale "PLACE"
2. PRUEBA2 surge de la modificacion del registro desde prueba pero prueba sigue teniendo la información


--
Horacio Degiorgi
http://blog.codigophp.com 

Fernando Gómez

unread,
Jul 4, 2005, 2:15:10 PM7/4/05
to cat...@googlegroups.com
> Porque se generan estas claves sin dejar en 0 los hits de las anteriores?

Un misterio, con el que casi nos hemos acostumbrado a convivir :-(

Disculpen por no haberlo informado antes, pero estaba seguro de que en
pocos días alguien lo iba a descubrir e informar, y así comenzaríamos
a explorar este problema.

¿Un bug del wxis? ¿Ocurre sólo con *algunas* versiones de wxis? ¿Tiene
que ver con la FST? ¿Qué pasa si cambiamos la enorme FST (biblio.fst)
que usa Catalis por otra mucho más simple (que sólo indice el título,
digamos)?

Por ahora, sólo tenemos como "remedio" la ejecución periódica del
fullinv.sh o fullinv.bat que viene incluido en la distribución de
Catalis.

(Estoy usando un teclado muy malo, sigo en otro momento.)

--
Fernando

Horacio Degiorgi

unread,
Jul 4, 2005, 3:01:50 PM7/4/05
to cat...@googlegroups.com
Muy mala noticia :(
Pésima diría porque estamos trabajando en la modificacion de palabras claves y si siguen apareciendo las que ya están borradas es como un poco dificil corregir las buenas.
Correr el fullinv cada cierto tiempo es totalmente aceptable ahora, porque tenemos pocos registros pero al pasar a los 60000 registros no creo podamos darnos ese lujo.

Le buscaré la vuelta al tema, esto pasa en windows y en linux  ? Han documentado el tema en otro lado ?
Podrá existir relacion con el bloqueo de registros ?
algun otro dato que aportar ?


saludos

Horaciod





El día 4/07/05, Fernando Gómez <fjg...@gmail.com> escribió:

Fernando Gómez

unread,
Jul 4, 2005, 4:49:14 PM7/4/05
to cat...@googlegroups.com
> Le buscaré la vuelta al tema, esto pasa en windows y en linux?

Sí, lo hemos visto (y padecido) en ambos sistemas.

> Han documentado el tema en otro lado ?

Quizás yo haya anotado algo, pero ahora no lo tengo a mano
(aclaración: estoy durante toda esta semana en Bs As, y sin acceso a
las máquinas de la UNS).

> Podrá existir relacion con el bloqueo de registros ?

Ya no recuerdo eso, pero sería fácil de testear tocando el .xis.

> algun otro dato que aportar ?

En cuanto tenga algo más, escribo.

Saludos.

--
Fernando

Fernando Gómez

unread,
Jul 14, 2005, 1:06:21 PM7/14/05
to cat...@googlegroups.com
Estuve intentando descifrar el enigma de las claves fantasma.
Probé con wxis 5.4 y también con wxis 5.0, solamente en Windows 2000.

No tengo buenas noticias: el fenómeno es, hasta donde llego a ver,
bastante irregular, y no logro encontrar un remedio que funcione. Hay
soluciones aparentes (¿soluciones fantasma?), pero al intentar repetir
una prueba, los resultados no se mantienen.

Mis sospechas apuntan al script de grabación (grabar.xis). Verán que
este script contiene algo extraño: una doble grabación, que en algún
momento surgió como una solución a otro problema con wxis, relacionado
con el bloqueo de registros (es otra historia, que tal vez podemos
dejar para otro momento). La parte del script que se ocupa de las
grabaciones es esta (omitiendo detalles):

<do task="update">
<parm name="db">BIBLIO</parm>
<parm name="mfn"><pft>v4000</pft></parm>
<parm name="fst"><pft>cat('BIBLIO.FST')</pft></parm>
<parm name="stw">BIBLIO.STW</parm>
<parm name="actab"><pft>cat('AC-ANSI.TAB')</pft></parm>
<parm name="uctab"><pft>cat('UC-ANSI.TAB')</pft></parm>
<parm name="lockid"><pft>v2002,'@'getenv('REMOTE_ADDR')</pft></parm>
<parm name="expire"><pft>v6001^x</pft></parm>

<update>
<!-- Omitido: construcción de los campos del registro,
en base a los datos recibidos del cliente -->
<write>Unlock</write> <!-- 1ra grabación, sin bloqueo -->
</update>

<update>
<write>Lock</write> <!-- 2da grabación, con bloqueo -->
</update>
</do>

En una de mis pruebas, eliminé la segunda grabación (que sólo se ocupa
de activar el bloqueo del registro). Inmediatamente dejaron de
añadirse claves fantasma, aunque las generadas con anterioridad
seguían allí. A continuación, volví a habilitar la 2da grabación, y vi
con sorpresa que el problema ahora no se producía.

Luego probé otras variantes, pero siempre con resultados similares:
aplico un cambio que hace que el problema desaparezca, pero al
intentar repetir la "solución" ésta ya no funciona. O bien, un cambio
soluciona el problema, y al deshacer el cambio, el problema no
reaparece.

Otra rareza: al grabar reiteradamente un mismo registro, los
términos que van al diccionario van incrementando su contador de
postings en uno, y aquellos que desaparecen del registro permanecen en
el diccionario conservando su número de postings, pero hay un término
en particular (-NC=xxxxx, el número de control, campo 001) que se
mantiene con un único posting, pese a las reiteradas grabaciones!

¿Alguien podrá encontrar un patrón de regularidad en este aparente caos?

En un próximo mensaje, indicaré paso a paso algunas de mis pruebas,
con la esperanza de que alguien logre reproducir los resultados.

Saludos.

--
Fernando

Fernando Gómez

unread,
Jul 14, 2005, 3:14:47 PM7/14/05
to cat...@googlegroups.com
Ahora vengo con mejores noticias. No, no dije soluciones, sólo
noticias ;-)

Por favor, me gustaría que probaran si esto les funciona como a mí.
La FST para las bases bibliográficas es el archivo

bases/catalis_pack/common/biblio.fst

Renómbrenlo p.ej. como biblio.fst.original, y en su lugar usen esta
FST mucho más sencilla:

9001 0 '-NC=',v001
9204 4 v245^a

Ingresen a Catalis, jueguen con un registro agregando y quitando
palabras del título (245$a). Verifiquen el diccionario. Con esa FST yo
dejo de ver las claves fantasma.

Ahora habrá que analizar la enorme FST original, para ver dónde está
la causa del problema.

Dos observaciones:

1. Mi perplejidad (véase mi mensaje previo) tenía que ver con este
extraño fenómeno: cuando cambiaba la FST y hacía una grabación, el
efecto "sanador" no se notaba inmediatamente, sino recién en la
grabación subsiguiente. ¿Desde cuándo tenemos que esperar un turno
para que se manifieste un cambio en la FST? ¿Hay acaso un 'cache' para
estas cosas? Por las dudas, estén atentos a ese fenómeno cuando
prueben.

2. La biblio.fst es un tanto monstruosa, lo reconozco. Buena parte de
su complejidad se debe a que necesitaba tener un buen control al
indizar subcampos repetibles, y para ello recurrí a una técnica
quizás no convencional. Y de hecho, ya una vez tuvimos un serio
problema al momento de grabar, problema que fue resuelto como se indica
en las líneas finales de biblio.fst. Por lo tanto, no me extraña que
aparezca otro problema vinculado con la FST. Sin embargo, por el
momento no se me ocurre qué debería modificar...

Seguiré experimentando. Saludos.

Horacio Degiorgi

unread,
Jul 14, 2005, 3:54:35 PM7/14/05
to cat...@googlegroups.com
Bueno parece que te compliqué la tarde o la vida con esto de las claves fantasmas.
En la facultad no hemos podido descubrir ningún patrón de conducta "regular", el tema se agrava cuando (como decís en el email anterior) aparecen más postings de los reales para claves de diccionario existentes.
Es probable que simplemente sea un bug del wxis. Cuando intenté hacer algo con las IsisDll allá por el 2000 me pasaban cosas parecidas y en general eran con el diccionario. Los registros los grababa perfectamente pero no informaba que había tenido problemas para generar las claves del diccionario.  Sólo que en aquella oportunidad no generaba claves nuevas solo que no actualizaba las viejas.
El tema de la fst puede ser el origen de los problemas pero no son tantas las claves que genera y tampoco se percibe porque algunas veces funciona y otras con solo cambiar un caracter no funciona.
Seguiremos probando ...




 

El día 14/07/05, Fernando Gómez <fjg...@gmail.com> escribió:

Fernando Gómez

unread,
Jul 14, 2005, 4:41:24 PM7/14/05
to cat...@googlegroups.com
> Es probable que simplemente sea un bug del wxis.

Es posible, pero en tal caso, estaría bueno llegar al "minimal test
case", que facilitara el análisis del problema y un eventual informe a
Bireme y ya que estamos solicitarles un parche (no sé qué atención le
prestan actualmente a wxis en Bireme; cuando en 2003 detecté algunos
problemas, informé a Ricardo Piva, que fue muy atento y los arregló).

Insisto con lo de la FST: si alguien puede verificar que el problema
desaparece atacando por ese lado (como explico en mi mail anterior),
le agradeceré.

Mientras, yo sigo tratando de encontrar al culpable.

Saludos.

--
Fernando

Fernando Gómez

unread,
Jul 14, 2005, 6:09:06 PM7/14/05
to cat...@googlegroups.com
Buenas noticias, y con solución incluida.

1. Editar el archivo bases/catalis_pack/common/biblio.fst
2. En la sección "Lugar de publicacion", eliminar la línea

9260 4
ref(['COUNTRY']l(['COUNTRY']replace(replace(v008*15.3,'#',''),'_','')),v2)

Opcionalmente, se puede preservar la línea usando un comentario:

9260 4 /*
ref(['COUNTRY']l(['COUNTRY']replace(replace(v008*15.3,'#',''),'_','')),v2)
*/

(Atención: aunque quizás en este mensaje la línea aparezca quebrada,
en el archivo debe quedar como una *única* línea.)

Parece que el culpable era el ref(). En este caso podemos prescindir de
él, sinceramente; al fin y al cabo esa manera de indizar el lugar de
publicación no era buena idea. Luego habrá un reemplazo para esa
línea, pero por ahora quítenla y adiós fantasmas (eso espero!).

Me alegra que la solución sea tan barata. Gracias Horacio por traer el
problema a la lista y darme el empujoncito que necesitaba para
resolverlo.

Saludos.

--Fernando

Raúl Escandar

unread,
Jul 14, 2005, 7:22:32 PM7/14/05
to cat...@googlegroups.com

Hola gente:

Pasados algunos días del entusiasmo por instalarlo, hoy lo hicimos en
Windows 2000,
sobre Apache y en una máquina que tiene el Internet Information Server usado
para otros
fines.

En este caso, para evitar cruce de servidores colocamos Apache escuchando el
puerto 90
en lugar del 80.

Todo funcionó bien y comenzaremos a usarlo en la SAI.

Saludos

Ariel Otero y Raul Escandar

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.8.15/49 - Release Date: 14/07/2005

Fernando Gómez

unread,
Jul 14, 2005, 7:37:31 PM7/14/05
to cat...@googlegroups.com
> sobre Apache y en una máquina que tiene el Internet Information Server usado
> para otros
> fines.

¡Gracias por la noticia!

Me pregunto si hubo alguna razón especial para instalar un segundo
servidor, ya que con IIS igual puede funcionar, y claramente Catalis
no necesita de un servidor con dedicación exclusiva. Pero como dicen
por ahí... si ya anda, ahora no cambien nada ;-)

Saludos.

--
Fernando

Claudia Boeris

unread,
Jul 15, 2005, 7:51:44 AM7/15/05
to cat...@googlegroups.com

Mis felicitaciones a Fernando por haber ahuyentado a los fantasmas. ;-)


>Opcionalmente, se puede preservar la línea usando un comentario:

>9260 4 /*
>ref(['COUNTRY']l(['COUNTRY']replace(replace(v008*15.3,'#',''),'_','')),v2)
>*/

Si me permiten, y para quienes no lo sepan, estaría bueno aclarar un poco
más qué es un comentario.
Cuando uno quiere evitar que se ejecute una parte de un "programa" sin
perderla del código puede encerrarla entre ciertos caracteres.

Por ejemplo:
<!-- No quiero que se ejecute esta línea-->
#No quiero que se ejecute esta línea#
/*No quiero que se ejecute esta línea*/



Saludos

Claudia

Raúl Escandar

unread,
Jul 15, 2005, 9:50:50 AM7/15/05
to cat...@googlegroups.com
Fernando dijo:

> Me pregunto si hubo alguna razón especial para instalar un segundo
> servidor, ya que con IIS igual puede funcionar, y claramente Catalis
> no necesita de un servidor con dedicación exclusiva.

Por una necesidad interna, Fernando.
Es por eso que quisimos comunicarlo.

Saludos
Reply all
Reply to author
Forward
0 new messages