db2ext.TextSearch( IN query VARCHAR(4096), IN indexSchema VARCHAR(128), IN indexName VARCHAR(128), IN resultFirstRow INTEGER, IN resultNumberRows INTEGER, IN scoringFlag INTEGER, IN searchTermCountsFlag INTEGER, OUT searchTermCounts VARCHAR(4096), OUT totalNumberOfResults INTEGER )
Es gibt folgende Eingabeparameter.
Dieser Parameter ist nicht mit dem Ergebnisbegrenzungsausdruck (RESULT LIMIT) in der Abfrage zu verwechseln, der die maximale Größe der Abfrageergebnisliste festlegt.
Der Wert sollte >= 0 sein. Dabei bedeutet 0, dass alle Ergebnisse zurückzugeben sind.
Wenn eine größere Ergebnismenge angefordert wird, stellen Sie sicher, dass ein Tabellenbereich für temporäre Benutzertabellen verfügbar ist. Wenn keiner verfügbar ist, erstellen Sie einen Tabellenbereich. Im folgenden Beispiel wird ein Tabellenbereich auf einer UNIX-Plattform erstellt:
db2 "create user temporary tablespace tempts managed by system using ('/work/tempts.ts')"
Es gibt folgende Ausgabeparameter.
Weitere Informationen finden Sie unter searchTermCountsFlag.
Beachten Sie auch, dass diese Zahl nicht mehr zuverlässig ist, wenn Sie in einer Abfrage STOP SEARCH AFTER oder RESULT LIMIT zusammen mit der scoringFlag-Syntax verwenden.
Die Spalten in der Ergebnismenge, die von der gespeicherten Prozedur zurückgegeben werden, werden durch die Option CACHE TABLE des Befehls DB2TEXT CREATE INDEX definiert. Wenn scoringFlag=1 ist, wird eine Spalte des Typs DOUBLE hinzugefügt. Diese Spalte enthält den SCORE-Wert.
Mit den folgenden Optionen können Sie die Leistung einer zweiten Abfrage verbessern, deren Abfragezeichenfolge mit der der ersten Abfrage identisch ist. Beachten Sie, dass dazu ein anderes Cursorfenster ohne totalNumberOfResults erforderlich ist:
Um sicherzustellen, dass Sie für die Suche eine Verbindung zu dem korrekten Knoten herstellen, muss unter Umständen die Umgebungsvariable DB2NODE gesetzt werden.
Verwenden Sie unter UNIX hierzu den folgenden Befehl:
export DB2NODE=<no>
Hierbei ist zu beachten, dass alle physischen Knoten über eine synchronisierte Uhrzeit verfügen müssen.
Verwenden Sie unter Windows den folgenden Befehl:
set DB2NODE= <no>
Eine abgeschirmte Benutzer-ID, die ungleich der Exemplareigner-ID ist, funktioniert nicht mit partitionierten Datenbanken.