[Allegro] Kategoriensuche

Jörg Oberfell oberfell at wlb-stuttgart.de
Di Jul 10 17:33:14 CEST 2012


Hallo Herr Fischer,

Am 10.07.2012 11:51, schrieb Fischer, Thomas:
> ich möchte in einer Datenbank nach dem Auftreten der Kategorie 40 suchen.
> [...]
> Wenn ich nach "#40" suche, bekomme ich aber auch beliebige Treffer mit
> #21 ... in #403274 wurde ...
> Kann ich das irgendwie präzisieren?


Der entscheidende RegExp-Befehl wäre der "^"-Operator, der aber hier nur 
ab dem ersten Zeichen des KategorienINHALTs wirkt und daher nicht auf 
die Kategorienummer angewendet werden kann. Ein nachträgliches 
Einschränken der Suche (mit dem Minus-Zeichen) dürfte u. U. zuviele 
Datensätze wieder entfernen.

Falls keine einfacheren Lösungsideen kommen, hier ein ganz anderer 
Ansatz (Vorsicht: hier 3-stelliges Kategorienschema):

Man indexiere für jeden Datensatz bestimmte Kategorien (hier #200., 
#331., #335.) in ein Register (z. B. "|3k") und schneide ab dem ersten 
Textzeichen ab (hier "e7"); vorher/nachher ggf. Kategoriestart anpassen 
(#bks). Dadurch werden die pro Datensatz verwendeten Kategorienummern 
indexiert. Indexparameter:

#bks=1
#200. ++ p"|3k" m"|3k" e7 P{8}
#331. ++ p"|3k" m"|3k" e7 P{8}
#335. ++ p"|3k" m"|3k" e7 P{8}
#bks=5

BEISPIEL: aus
    #200 Universität Stuttgart, Pressestelle
    #331 Tag der offenen Tür
werden Indexeinträge
    |3k200
    |3k331
sodass im Register unter |3k beim Eintrag "200" alle Datensätze 
auftauchen, die eine Kategorie #200 besitzen.

Viele Grüße,
Jörg Oberfell

-- 
**********************************************************************
    Jörg Oberfell
    Württembergische Landesbibliothek
    - IT-Abteilung -
    - Fachreferat Mathematik und Informatik -
    Konrad-Adenauer-Str. 8   D-70173 Stuttgart
    Postfach 105441          D-70047 Stuttgart
    Tel.: +49 (0)711 / 212 - 44 75
    Fax:  +49 (0)711 / 212 - 44 22
**********************************************************************






Mehr Informationen über die Mailingliste Allegro