[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