[Allegro] find mit acon-job

Thomas Berger ThB at Gymel.com
Mo Jun 22 19:53:04 CEST 2015


Lieber Herr Eversberg,

>> Die a99-Moeglichkeiten des nachtraeglichen Verknuepfens von Ergebnismengen
>> auch in acon zu haben, ist gewiss ein Desiderat.
>>
> Sicher, nur ist es weniger gut realisierbar als in a99. acon hat, wenn
> es für avanti arbeitet, bei jedem Job potentiell wieder mit einem
> anderen Nutzer zu tun, oder man müßte ein Sitzungskonzept realisieren,
> das ist aber bekanntlich schwierig. acon sollte daher am Ende eines
> Jobs keine, aber gar keine!, Dateien zurücklassen. a99 legt die
> Erg.Mengen nicht im Arb.Speicher an, sondern im WorkDir als Dateien,
> cat._1, cat._2, ..., in denen die Satznummern stehen. Die müßte acon
> sich alle im Arbeitsspeicher aufbewahren, damit käme man schneller in
> Platznot als a99. Sicher alles machbar, aber nicht leicht.

Ich dachte an nichts Sitzungsuebergreifendes, und auch nur an die Satznummern.
Es gibt ja Situationen, wo man mit einer Grundselektion mal dieses
und mal jenes tut, oder eben wie in Herrn Fischers Fall Mengen aus einer
tendenziell unbeschraenkten Anzahl von Termen zusammensetzen moechte.

Anders als bei a99 waere mir allerdings bei acon lieber, dass Ergebnis-
mengen nicht beilaeufig aufbewahrt werden, sondern nur wenn ein
dafuer zu schaffendes Kommando das verlangt.

Wenn das staendig mehrere Jobs parallel mit Millionen von Datensaetzen
machen, braucht es halt eine groessere Maschine. Es mit Mitteln der
Flexprogrammierung zu emulieren macht es aber nicht effizienter, insofern
ist die Sorge um die Speicherausstattung der Benutzer zwar stets
berechtigt, aber ein zweischneidiges Argument.



>> 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,
> Nein, nur die Nummern! Wenn eine Erg.Menge gebildet wird, ist das eine
> Liste von Satznummern, bei acon sowohl wie bei a99.

Stimmt.


> So ist es durchaus realistisch, Erg.Mengen in $-Variablen zu lagern.
> Die verschwinden am Ende des Jobs, also keine Aufräumarbeit.
> Mit
> 
> var i,
> ins $num
> 
> hat man in $num die Satznummern der Erg.Menge, getrennt durch ,
> 
> Mit
> find *new
> var "#" $num1
> find
> var "#" $num2
> find
> 
> hat man zwei solche Erg.Mengen-Nummernlisten zu einer Erg.Menge
> vereinigt, denn der '#' am Beginn des Suchbegriffs hat diese Wirkung.
> Daher muß zuerst eine vorher bestehende Erg.Menge mit "find *new"
> beseitigt werden.

Fuer AND oder NOT hat man leider keinen so eleganten Ersatz...

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro