[Allegro] Trick 33: Volltextsuche in eigenem FLEX

Bernhard Eversberg ev at biblio.tu-bs.de
Do Jan 11 07:58:19 CET 2007


Trick 33: Volltextsuche in eigenen FLEX einbauen

Warum? FLEX ersetzt zunehmend die alten Batchdateien! Und eine der
wichtigsten Komponenten in der allegro-Umgebung ist das Volltext-
Suchprogramm SRCH. Mit einem ganz einfachen Aufruf:

srch -f4 -s<suchbegriff> -e<expar>/<outfile> ...

konnte und kann man eine Datenbank volltextdurchsuchen und zugleich
die Treffer in jedem gewünschten Format exportieren lassen.
Diese hochwirksame Methodik wird auch in FLEX gebraucht! Und es gibt
sie jetzt:

Lösung: Man baut diese Zeilen ein:

#u!!<suchbegriff>
perf ftr
sho list
...
end

include ftr.inc


Die neue Datei "ftr.inc" enthält die komplette Prozedur für die
Volltextsuche in der gesamten Datenbank. Bei Rückkehr stehen die
Ergebnisse in der aktuellen Ergebnismenge, die man sofort anzeigen
lassen kann (show list) oder sonstwie verarbeiten, vor allem
natürlich exportieren (dow set).
Bei Mißerfolg wirft  ftr.inc  die Meldung "nichts gefunden" aus.
Wer will, kann sie herausnehmen.
Selber testen kann man den Mißerfolg so

var Z
if Z<1 jump misserfolg
...

denn Z ist der Trefferzähler.

Und wie steht's mit der Geschwindigkeit? Auf Systemen mit schnellen
Platten ist ftr deutlich schneller als SRCH, generell aber nicht
langsamer.

In  ftr.inc  findet man die nötigen Kommentare. Die darin
verwendeten Sprungmarken beginnen alle mit :ftr: und sind deshalb
nicht in Gefahr, mit anderen im eigenen FLEX zu kollidieren!


Aber was bedeutet "ftr"? Es kommt von Full Text RegEx.



Mehr Informationen über die Mailingliste Allegro