Verwenden Sie die Schnittstelle für die Suche über eine gespeicherte Prozedur (bei möglichst hoher Leistung), wenn Ihre Anwendung eine Untermenge des Textsuchergebnisses benötigt. Verwenden Sie die gespeicherte Prozedur nicht, wenn alle Ergebnisse benötigt werden oder wenn eine große Anzahl an Dokumenten indexiert werden muss. Da in diesem Fall Teile der Benutzertabelle in den Hauptspeicher kopiert werden müssen, ist eine große Menge Realspeicher erforderlich.
Sie können die gespeicherte Prozedur verwenden, um zunächst die Ergebnisse 0 bis 20, dann 21 bis 40 usw. in einer ähnlichen Weise wie bei der Cursornavigation abzurufen. Die Kombination der Cursorfähigkeit, der Verwendung eines Caches (der bei der Indexierung errechnet wird) und der Tatsache, dass bei der Indexierung keine Verknüpfung erforderlich ist, ermöglicht eine extrem hohe Suchgeschwindigkeit.
Wenn Sie die gespeicherte Prozedur verwenden möchten, berücksichtigen Sie dabei Folgendes:
Dies ist ein Beispiel für eine Suche über eine gespeicherte Prozedur:
db2 "call db2ext.textSearch('\"book\"','DB2EXT','COMMENT',0,2,1,1,?,?)"
Der erste Parameter ist der Suchbegriff. Die Syntax entspricht exakt der Syntax für die SQL-Funktionen. Anschließend geben Sie den Indexnamen und das Indexschema an. Wenn Sie keine Platzhalterzeichen verwenden, wird er in Großbuchstaben umgesetzt. Die folgenden beiden Zahlenwerte geben Ihnen die Wahrscheinlichkeit, das Ergebnis in Teilen abrufen zu können. Die beiden nächsten ganzzahligen Werte geben an, ob Informationen zur Quote und zur Trefferanzahl angefordert werden. Die beiden letzten Werte sind Ausgabewerte.
Weitere Informationen zu den Parametern finden Sie in Suchfunktion über gespeicherte Prozedur.
Wenn Sie größere Ergebnismengen abfragen, benötigen Sie einen Benutzertabellenbereich. Ist keiner verfügbar, erstellen Sie einen Tabellenbereich. Im folgenden Beispiel wird ein Tabellenbereich für eine UNIX-Plattform erstellt:
db2 "create user temporary tablespace tempts managed by system using ('/work/tempts.ts')"
In einer verteilten DB2-Umgebung müssen Sie für Verwaltungstabellen auf einem einzelnen Knoten explizit einen Tabellenbereich für die gespeicherte Prozedur angeben und diesen Knoten explizit aufrufen.