[Allegro] Indexparameter cat.api modernisieren?

Thomas Berger ThB at Gymel.com
Fr Jul 23 09:44:28 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Eversberg,

> In diesem Fall kommt ein 5-Punkte-Plan raus:
> 
> 1. Man sammelt innerhalb der Parameterdatei nebenbei alle jene
>    Felder ein, die in den ALL-Index sollen. Das geschieht in
>    all jenen Abschnitten, wo die relevanten Felder verarbeitet
>    werden, z.B. #-G, wo alle Titel für Reg. 4 drankommen, oder
>    #-B, wo es um die Personen geht.
>    Da kommt jeweils diese Zeile hin:
>    #u1 u p" " AGR e0

Axy e0

ist pleonastisch, "e0" ist nach A implizit.


>    Die Variable #uGR wird so zum Sammelplatz aller jener Felder.
>    Es sind, wenn ich recht sehe, nicht mehr als 10 Stellen, wo
>    diese neue Zeile rein müßte.

mit dieser Methode sind mir schon viele Anwendungen gecrasht, sogar
in $A.CFG: #uGR kann fast so gross werden wie die maximale
Datensatzgroesse ist, also deutlich groesser als eine Kategorie sein
darf, Probleme mit der Dimensionierung des Hintergrundspeichers gibt
es auch. (Beispiele: jemand erfasst 200 Personenschlagworte jeweils
als kleine Kette oder jemand hat ausufernde Dokumentationen in #81, #98
und vergleichbaren Anmerkungskategorien (sehr wichtige Kandidaten fuer
Pseudo-Volltextindexierung).


> 2. Nur eine einzige neue ak-Zeile wird gebraucht, und die lautet so:
>    ak=uGR"[ -/]"+z
>    Sie kommt unterhalb all jener ak-Zeilen, die zum Sammeln relevant
>    sind. Schaltet man diese Zeile aus, passiert einfach nichts, sondern
>    es entsteht der Index genau wie bisher, ohne ALL-Register.
> 
> 3. Unter die Sprungmarke #-0 kommt noch diese wichtige Zeile:
>    #nr dGR e0
>    Sie löscht, beginnt ein neuer Satz, das Sammelfeld des vorigen.
> 
> 4. Bei der (neuen) Sprungmarke #-z steht nur
>    #-z
>    !u1 y2 e"_" f"&[(<" F"&])>,.;:?!" p"~e1"
>    #+#

Die so zusammengefasste Stichwortbildung gibt die Chance, die
Aufbereitung nicht nur als beilaeufige Bereinigung des schlimmsten
Schmutzes zu gestalten, sondern elaborierter: Bindestriche und
alternative Umlaut-Aufloesungen.

Die von Ihnen skizzierte Methode nimmt die Umcodierung erst anlaesslich
der Ausgabe vor, nicht bereits beim Einsammeln, das deckt sich mit
meinen Erfahrungen. Das Einsammeln kann aber nicht ganz so schematisch
erfolgen wie unter 1. angedeutet, z.B. muessen Unterfeldzeichen (und
Folgecode) waehrend des Einsammelns durch " " ersetzt werden. Und ob
Passagen in NSZ herausgenommen werden sollten, ist auch vom Herkunfts-
feld abhaengig: das "van" in "Ludwig van Beethoven" sollte ruhig findbar
bleiben/werden (Entstoppung "@" bei #-z nicht vergessen!), stereotype
einleitende Wendungen in Fussnoten will man weiterhin verwerfen (im
Zweifel aber pro Recall)

Wegen des von mir angesprochenen Ueberlaufproblems gestalte ich den
Abschnitt bei Ihrem #-z oft "dual": wiederholbare Kategorien bekommen
ein eigenes ak-Statement, um die einsammelnde Anwendervariable zu
entlasten:

ak=81.+z

und bei #-z dann beruecksichtigen, dass #u1 durchaus noch die Trenner
"[ -/]" enthalten kann, also in eine Anwendervariable umkopieren und
aufessen, erfordert leider eine zusaetzliche Sprungmarke, hier y
genannt:

#-z
    % hier dann auch noch lok. Ersetzungen ,"_▼?_/_" etc.
!u1 +#ucc dcc f" -/" y0 b Acc
#+#
#-y
  % e"_" eher fragwuerdig: cat.api scheint unausgesprochen Daten
  % zu erwarten, wie sie Anfang der 90er einmalig importiert wurden:
  % #61 Klartext _gkd-Nr. bzw. #31s Klartext _swd-Nr.
  % Ich weiss nicht, ob solche Datensaetze noch in realen Anwendungen
  % existieren.
#ucc e"[ -/]" y2 e"_" f"&[(<" F"&])>,.;:?!" p{"~e1"}
#ucc +y dcc e"[ -/]" f" -/" y0 b0 Acc
#+#

Wenn dazu noch die "elaborierte" Behandlung von Bindestrichworten
und Umlauten kommt, wird es etwas wuselig.

Bündeln jeglicher Verstichwortung in so einem (dann noch etwas flexibler
gestalteten) Abschnitt #-z ist nach meiner Erfahrung auch die Hauptarbeit,
wenn man Indexparameter auf i4=5 umstellen moechte.

viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iJwEAQECAAYFAkxJSFwACgkQYhMlmJ6W47MtFQP6A6fz+b5FUXurvrxF3lfv1U0X
/3YSNqx65w9Dk0oEdM8JK9JpFI+5n4yAj8QInZAubSW5szoEdC+KsjUTuqWio5G6
VzyiV/yFyl1YB8H8fs3+OlVGzztC1SaNYLaRU0fRmZlrVeLXPBJmHlwdv0cG8/OX
VXI0HVEBc/aBkXQj0bI=
=+qlz
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro