Figure 3. Utilisation d'une fonction de recherche scalaire SQL
L'Extension Net Search propose trois fonctions de recherche de texte scalaires (CONTAINS, NUMBEROFMATCHES et SCORE) qui sont totalement intégrées dans SQL. Vous pouvez utiliser les fonctions de recherche aux mêmes endroits que les expressions SQL standard dans les requêtes SQL. L'exemple suivant montre des requêtes typiques :
SELECT * FROM books WHERE CONTAINS (abstract,'"relational databases"') = 1 AND PRICE <10 SELECT ISBN, SCORE (abstract, '"relational databases"') as SCORE from BOOKS where NUMBEROFMATCHES (abstract, '"relational databases"') >5 AND PRICE <10 order by SCORE
Les fonctions scalaires SQL renvoient un indicateur spécifiant avec quelle exactitude les documents texte correspondaient à une condition de recherche de texte donnée. Ensuite, la clause SELECT de la requête SQL détermine les informations renvoyées à l'utilisateur final.
Utilisez les fonctions de recherche scalaires comme méthode de recherche par défaut. Ces fonctions de recherche doivent être adaptées dans la majorité des cas, en particulier lorsque l'expression de recherche de texte est associée à d'autres conditions.
Notez que l'optimiseur DB2 est conscient du nombre de documents texte devant correspondre au prédicat CONTAINS et de la différence de coût entre chaque alternative de plan d'accès. L'optimiseur choisira le plan d'accès le moins coûteux.