Syntaxe de la fonction
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 )
Paramètres de fonction
Les paramètres suivants sont les paramètres d'entrée :
Il ne doit pas être confondu avec l'expression "result limit" dans la requête qui détermine la taille maximale de la liste des résultats de la requête.
La valeur doit être supérieure ou égale à 0. 0 signifie que tous les résultats sont renvoyés.
Remarque |
---|
Si un ensemble de résultats plus grand est demandé, veillez à ce qu'un espace table utilisateur temporaire soit disponible. Si aucun espace table n'est disponible, créez-en un. L'exemple suivant crée un espace table sur une plateforme UNIX : db2 "create user temporary tablespace tempts managed by system using ('/work/tempts.ts')" |
Paramètres de fonction
Les paramètres suivants sont les paramètres de sortie :
Pour plus d'informations, reportez-vous à searchTermCountsFlag.
Notez également que si vous utilisez STOP SEARCH AFTER ou RESULT LIMIT avec la syntaxe scoringFlag dans une requête, ce nombre n'est plus fiable.
Usage
Les colonnes de l'ensemble de résultats renvoyés par la procédure mémorisée sont données par l'option CACHE TABLE de la commande DB2TEXT CREATE INDEX. Si scoringFlag=1, alors une colonne de type DOUBLE est ajoutée. Celle-ci contient la valeur SCORE.
Les options suivantes permettent d'augmenter les performances d'une seconde requête avec la même chaîne que la première requête. Notez que ceci doit avoir lieu dans une autre fenêtre sans la valeur totalNumberOfResults requise :
Pour être sûr que vous vous connectez au bon noeud pour la recherche, il peut être nécessaire de définir la variable d'environnement DB2NODE.
Pour UNIX, utilisez la commande suivante :
export DB2NODE=<no>
Notez qu'il est important que tous les noeuds physiques ait un temps synchronisé.
Pour Windows, utilisez :
set DB2NODE= <no>
Remarque |
---|
Un ID utilisateur isolé, différent de l'ID propriétaire d'instance ne fonctionne pas avec des bases de données partitionnées. |