[Allegro] find mit acon-job

Fischer, Thomas fischer at sub.uni-goettingen.de
Mi Jun 24 18:52:48 CEST 2015


Hallo die Herren Berger und Eversberg,

ich bin jetzt dazu gekommen, mir die Sache näher anzusehen.

Zunächst: es hat wohl nichts mit der internen Variablen zu tun, was gut ist, da ich keine Ahnung habe, wie ich eine interne Variable dynamisch innerhalb eines Skriptes zusammenbauen könnte, da ginge nur wegschreiben in eine temporäre Datei und die dann wiederum als Skript aufrufen … lieber nicht!

Die Suche funktioniert aber mit normalen Variablen, und zwar bei mit jetzt mit bis zu 128 Termen, das ist immerhin ein Fortschritt um zwei 2er-Potenzen seit meinen letzten Tests.
Bei 130 Termen liefert der find-Befehl ein leeres Ergebnis, bei 129 Termen stürzt acon ab:

[Window Title]
acon, console program f. allegro/avanti
[Main Instruction]
acon, console program f. allegro/avanti funktioniert nicht mehr
[Content]
Das Programm wird aufgrund eines Problems nicht richtig ausgeführt. Das Programm wird geschlossen und Sie werden benachrichtigt, wenn eine Lösung verfügbar ist.
[Programm schließen]

Insofern passt Herrn Bergers Test gut zu meinen Ergebnissen, leider meine Ergebnisse nicht zu dem bei mir vorliegenden Problem mit 139 Termen.
Mit der Methode des Einsammelns von ID-Nummern ließe sich da aber wohl etwas machen, dafür habe ich aber jetzt keine Zeit mehr.
Eleganter wäre aber eine Lösung, die erlauben würde, find-Ergebnismengen direkt zusammenzuführen. Ich vermute, dass es eher die typische Situation ist, dass man eine ODER-Verknüpfung braucht: Ich habe eine (lange) Liste von Termen und möchte jetzt alle Datensätze haben, in denen einer davon (in einem bestimmten Register) vorkommt. UND- oder NICHT-Verknüpfungen kann ich eher vereinzelt denn als lange Liste sehen.

Mit freundlichen Grüßen
Thomas Fischer



> Am 23.06.2015 um 10:00 schrieb Fischer, Thomas <fischer at sub.uni-goettingen.de>:
> 
> Lieber Herr Berger,
> 
> schönen Dank, das sieht interessant aus, ich werde versuchen, mir das im Laufe des Tages noch näher anzuschauen.
> Ich hatte letztes Jahr versucht, den Suchbefehl in einer #u-Variablen zusammenzusetzen und war da auf die Grenze von 32 gestoßen, soweit ich erinnere unabhängig von der Größe der Sucheinträge. Mit der internen Variablen will ich es aber noch einmal probieren.
> 
> Mit freundlichen Grüßen
> Thomas Fischer
> 
>> Am 22.06.2015 um 17:26 schrieb Thomas Berger <ThB at Gymel.com>:
>> 
>> Lieber Herr Fischer, lieber Herr Eversberg,
>> 
>> Am 22.06.2015 um 16:14 schrieb Bernhard Eversberg:
>>> Am 22.06.2015 15:38, schrieb Fischer, Thomas:
>>>> 
>>>> ich muss mich mal wieder mit einem find-job befassen. Aktuell habe
>>>> ich vor allem das Problem, wie ich aus verschiedenen Find-Befehlen
>>>> eine Ergebnismenge zusammenbaue. Gibt es dafür eine (einfache?)
>>>> Methode? Ein wiederholtes "Find" lieferte bei meinen Versuchen keine
>>>> zusätzlichen Treffer zur aktuellen Ergebnismenge, und die Verkettung
>>>> der Suchbefehle mit ' OR ' geht nur mit bis zu 32 Begriffen.
>>>> 
>>> 
>>> Nein, leider kann ich da auf die Schnelle keine Abhilfe bieten.
>>> Zuerst müßte ich rausfinden, ob und wo denn die Zahl 32 festgelegt ist,
>> 
>> angehaengter Job sammelt mit einem find 70 Saetze anhand der Identnummer
>> im Register 9 ein (an der Kommandozeile mit der Demodatenbank, ich wuesste
>> aber nicht, unter welchen Umstaenden es sich anders verhalten sollte).
>> Es kann natuerlich Probleme geben, wenn man das find-Kommando in einer
>> einzelnen Zeile zu konstruieren versucht, da gibt es bestimmt Limits.
>> 
>> Erweitern von Ergebnismengen geht leider nur, wenn man interne Satznummern
>> hat, da gibt es dann find @+ oder so.
>> 
>> Die a99-Moeglichkeiten des nachtraeglichen Verknuepfens von Ergebnismengen
>> auch in acon zu haben, ist gewiss ein Desiderat.
>> 
>> Die Alternative ist immer, Teilergebnismengen zu bilden, deren interne
>> Satznummern in Variablen zu merken, zum Schluss alles zu kombinieren:
>> Dann werden die Saetze halt zweimal geladen, wenn man es geschickt macht,
>> spart man sich aber immerhin das Abschicken eines extra-Jobs.
>> Das ist aber ein bisschen so, als wolle man acon mit Mitteln der Jobsprache
>> nachprogrammieren...
>> 
>> 
>> viele Gruesse
>> Thomas Berger
>> <testfind.job>_______________________________________________
>> Allegro mailing list
>> Allegro at biblio.tu-bs.de
>> http://sunny5.biblio.etc.tu-bs.de/mailman/listinfo/allegro
> 




Mehr Informationen über die Mailingliste Allegro