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.