[Isis-users] Archivo invertido

Egbert De Smet egbert.desmet at uantwerpen.be
Thu Mar 19 15:58:50 CET 2020


please allow me to reply in English as it is getting a bit more technical here (and corona-related issues are also taking some attention).

Probably it is going to end up as an 'academic' discussion whether or not a limit on the INDEXING (not the storage) of repeatable fields is based on the max record-size or rather the number of directory entries. But I am an academician... Anyway, clearly we are touching built-in limits of CISIS.

E.g. in several CISIS source-code C-sources one can read the following statements :

#define MAX_TMP_STR     (MAXMFRL/2)
#define MAX_SFIELD      (MAXMFRL/2)
#define MAX_FD_VALUE    (MAXMFRL/2)
#define MAX_FD_TMP      (MAXMFRL/2)
which mean : some memory-buffers (mostly used in IsisScript and the Formatting Language) are defined to maximally take half of the maximum record-size (MAXMFRL/2).  The '/2' is a deliberate decision (by Bireme at the time) to create some spare space for larger directories of records when manipulating their contents (e.g. splitting a field for word-indexing into one occurrence for each word) and I myself have compiled CISIS for later versions of ABCD with a somehow lesser large 'overflow' buffer.

But the limits are there and need to be there. Part of the amazing speed of CISIS is based on such (smart ?) decisions typical also for the C-language.

So I stick to my advice to rather re-organize the database and create another database for each occurrence, in this case containing the Inventory Numbers (one in each MFN), and add into each record as a 2nd field (the 1st one being the number) the ID of the record in your base-database to which the 'copy' (ejemplares) needs to be linked.

I didn't check it but with the (equally smart) 'repeated ref' solution we have in ABCD (thanks Guilda, as always) a lot becomes possible, using semi-relational techniques while preserving the non-relational power of ISIS.

Egbert de Smet
Universiteit Antwerpen

From: isis-users <isis-users-bounces+egbert.desmet=ua.ac.be at iccisis.org> on behalf of Alberto Katz <alkatz at mecon.gov.ar>
Sent: Thursday, March 19, 2020 3:07 PM
To: isis-users
Subject: Re: [Isis-users] Archivo invertido

Hola a Todos, Egbert y Ernesto muchas gracias, olvide de comentar que estoy usando bigisis en este caso, las ocurrencias son números de inventarios. Es una base de datos que contiene mucho texto de resumen y además se da en este caso que tienen muchos ejemplares, por ejemplo:


Estas son las ocurrencias de 6 registros, las que tiene más ocurrencias. La base se armo bien sin problemas con las BigISIS, pero al invertir me esta dando error, hasta los 1200 aprox. no había problemas.

Un abrazo

De: "Egbert De Smet" <egbert.desmet at uantwerpen.be>
Para: "Alberto Katz" <alkatz at mecon.gov.ar>, "isis-users" <isis-users at iccisis.org>
Enviados: Jueves, 19 de Marzo 2020 6:09:13
Asunto: Re: Archivo invertido


el tamaño máximo de los registros de la base de datos "normal" es de 32K, lo que significa que con más de 3000 ocurrencias, como máximo 10 caracteres por clave pueden ser manejados, en realidad incluso menos ya que se debe observar alguna reserva de memoria para el procesamiento interno. Por lo tanto, es comprensible que en estos casos ya no se aconseje el uso de campos repetibles.  Se aconseja utilizar las bases de datos "bigisis" (1 Mb por registro, disponible en ABCD2.x) o bien reorganizar los datos poniendo los campos repetibles en un registro por ocurrencia en una base de datos separada y utilizar la función REF para enlazar con el registro "madre".

Si necessitas más ayuda con esto desafio, hay que darnos más detalles sobre su aplicación.

Egbert de Smet
Universiteit Antwerpen

From: isis-users <isis-users-bounces+egbert.desmet=ua.ac.be at iccisis.org> on behalf of Alberto Katz <alkatz at mecon.gov.ar>
Sent: Thursday, March 19, 2020 12:17 AM
To: isis-users
Subject: [Isis-users] Archivo invertido

Hola a todos quería consultarles cuantas claves hechas por una fst de un registro soporta el ABCD, lo que me ocurre tengo un campo repetible que tiene 3159 ocurrencias, y cuando se hace el invertido me da error, no se completa, si quito el registro no tengo problemas.

Un abrazo

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.iccisis.org/pipermail/isis-users/attachments/20200319/9c15193a/attachment.html>

More information about the isis-users mailing list