Deux fonctions de valeur table SQL sont disponibles, toutes deux appelées db2ext.textsearch. Pour utiliser la fonction db2ext.highlight, vous devez utiliser la fonction db2ext.textsearch avec les paramètres supplémentaires numberOfHits et hitInformation.
Dans cet exemple, appelez la fonction db2ext.highlight pour afficher le document complet sans mettre en évidence les occurrences trouvées par la fonction db2ext.textsearch.
select p.docid, db2ext.highlight(p.comment, t.hitinformation, ' WINDOW_NUMBER = 0 ') as highlight from DB2EXT.TEXTTAB p, table (db2ext.textsearch('"bestseller" | "peacekeeping" | "soldiers" | "attention"', 'DB2EXT', 'COMMENT', 0, 20, cast(NULL as INTEGER), 10)) t where p.docid = t.primkey and p.docid = 2
L'argument de recherche renvoie le résultat suivant :
DOCID HIGHLIGHT 2 A New York Times bestseller about peacekeeping soldiers called "Keepers" who devise a shocking scheme to get the worlds attention after their tour of duty ends. 1 record(s) selected.
Remarque |
---|
Dans tous les exemples db2ext.highlight, la fonction de table db2ext.textsearch recherche l'un des termes suivants : "bestseller", "peacekeeping", "soldiers", ou "attention". |
Dans cet exemple, appelez la fonction db2ext.highlight pour afficher le document complet et mettre en évidence toutes les occurrences trouvées par la fonction db2ext.textsearch.
select p.docid, db2ext.highlight(p.comment, t.hitinformation, ' WINDOW_NUMBER = 0, TAGS = ("<bf>", "</bf>" ) ') as highlight from DB2EXT.TEXTTAB p, table (db2ext.textsearch('"bestseller" | "peacekeeping" | "soldiers" | "attention"', 'DB2EXT', 'COMMENT', 0, 20, cast(NULL as INTEGER), 10)) t where p.docid = t.primkey and p.docid = 2
L'argument de recherche renvoie le résultat suivant :
DOCID HIGHLIGHT 2 A New York Times <bf>bestseller</bf> about <bf>peacekeeping</bf> <bf>soldiers</bf> called "Keepers" who devise a shocking scheme to get the worlds <bf>attention</bf> after their tour of duty ends. 1 record(s) selected.
Dans cet exemple, appelez la fonction db2ext.highlight pour afficher au maximum 10 parties (fenêtres) du document. La taille de toutes les fenêtres est de 24, ce qui correspond approximativement à 12 octets de données de chaque côté de l'occurrence. De plus, les occurrences trouvées par la fonction de table db2.textsearch sont mises en évidence.
select p.docid, db2ext.highlight(p.comment, t.hitinformation, ' WINDOW_NUMBER = 10, WINDOW_SIZE = 24, TAGS = ("<bf>", "</bf>" ) ') as highlight from DB2EXT.TEXTTAB p, table (db2ext.textsearch('"bestseller" | "peacekeeping" | "soldiers" | "attention"', 'DB2EXT', 'COMMENT', 0, 20, cast(NULL as INTEGER), 10)) t where p.docid = t.primkey and p.docid = 2
L'argument de recherche renvoie le résultat suivant :
DOCID HIGHLIGHT 2 York Times <bf>bestseller</bf> about <bf>peacekeeping</bf> ... <bf>peacekeeping</bf> <bf>soldiers</bf> called "Keepers" ... the worlds <bf>attention</bf> after their 1 record(s) selected.
La première occurrence trouvée est <bf>bestseller</bf> et cette occurrence détermine la première fenêtre. La seconde occurrence, <bf>peacekeeping</bf> ne se trouve qu'à 8 octets de la première occurrence et totalement incluse dans la première fenêtre. La troisième occurrence, <bf>soldiers</bf> est en dehors de la première fenêtre et détermine une nouvelle fenêtre. Comme la seconde occurrence, <bf>peacekeeping</bf> n'est qu'à 2 octets sur la gauche de l'occurrence <bf>soldiers</bf>, elle est également incluse dans la seconde fenêtre et mise en évidence. La quatrième occurrence <bf>attention</bf> se trouve en dehors de la seconde fenêtre et en détermine donc une nouvelle. Comme aucune occurrence précédente, ni supplémentaire n'est contenue dans la taille de cette fenêtre, seules les données entourant l'occurrence sont contenues dans la fenêtre.
De plus, comme aucun paramètre WINDOW_SEPARATOR n'est spécifié, le séparateur de fenêtre par défaut, " ... " est adopté pour séparter les trois fenêtres du document.
Remarque |
---|
Pour garantir des performances élevées lors de l'utilisation de la fonction db2ext.highlight, l'utilisateur doit limiter les résultats de la recherche dans la fonction de valeur table db2ext.textsearch. |
Pour plus de détails sur les paramètres, reportez-vous à la section DB2EXT.HIGHLIGHT.