Allegro-Grenzen?
Thomas Fischer
fischer at mail.sub.uni-goettingen.de
Do Apr 29 14:53:57 CEST 2004
Liebe KollegInnen,
ich habe Probleme bei der Indexierung einer Datenbank, nachdem ich versucht habe, durch Indizierung von Wortpaaren eine Art Phrasensuche zu ermöglichen. Die Indizierung bricht mit einem DOS-Fehler in Windows ab ("Die NTVDM-CPU hat einen ungültigen Befehl entdeckt...") oder hört ohne Meldung mit der Indizierung auf, z.B. die letzte Zeile in Protok:
1656 Schlüssel werden vorsortiert, ii238 (AAC_1.GLD)
1629 Sc
Ich würde gerne herausfinden, ob das System sich an einem besonders sperrigen Datensatz verschluckt oder sich irgendwie oder -wo Variablen ansammeln, die den Speicherplatz verzehren. Gibt es Hinweise, wie ich das herausfinden kann? Oder gibt es Grenzen der zu einem Datensatz zulässigen Indexeintragsgröße (?), die ich hier überschreite?
Meine Speichereinstellung ist derzeit
mr10000 aktivieren, wenn man genügend Speicher hat
(Reduktion auf 1000 bringt 60K !)
mk2500 Arbeitssp. Anzahl Kategorien (Standard 2500)
mK48000 Größe des Aufnahmespeichers in Byte
(10000 reicht, wenn keine extrem großen Sätze.
md1500 Anzahl Kategorie-Deskriptoren (Standard 800)
mb1000 Hintergr.Sp. Anzahl Kategorien
mB32000 Größe (in Byte, 5000 reicht meist)
mP5000 Phrasenspeichergröße (auch für Zwischenteile nötig!)
mX64000 Export-Parameterspeicher
Vielleicht lässt sich da auch noch etwas verbessern?
Der fragliche Programmteil ist
(mit #udx = '|2' und den zu suchenden Sätzen in #usv):
#-t
#udx
#usv e' '
#usv b' ' f32 =sv
#usv e' ' p' '
#t{8}
#usv +t c' ' e0
#udx ddx dsv e0
Wenn er aktiv ist, werden immer nur (etwa?) 2209 Datensätze indiziert, ohne ihn alle. Es scheinen immer dieselben Datensätze nicht erfasst zu werden, obwohl die Zahl der bis zum Abbruch entstehenden Zwischendateien von den Speichereinstellungen in der *.cfg-Datei abhängt.
Mit freundlichen Grüßen und für jeden Hinweis dankbar
Thomas Fischer
Mehr Informationen über die Mailingliste Allegro