Hay dos funciones de valor de tabla SQL disponibles, las dos denominadas db2ext.textsearch. Para utilizar la función db2ext.highlight, debe utilizar la función db2ext.textsearch con los parámetros numberOfHits y hitInformation adicionales.
En este ejemplo, se llama a la función db2ext.highlight para visualizar el documento entero sin resaltar ninguna de las coincidencias que la función db2ext.textsearch haya encontrado.
select p.docid, db2ext.highlight(p.comment, t.hitinformation, ' WINDOW_NUMBER = 0 ') as highlight from DB2EXT.TEXTTAB p, table (db2ext.textsearch('"superventas" | "paz" | "soldados" | "atención"', 'DB2EXT', 'COMMENT', 0, 20, cast(NULL as INTEGER), 10)) t where p.docid = t.primkey and p.docid = 2
El argumento de búsqueda devuelve el resultado siguiente:
DOCID HIGHLIGHT 2 Un superventas de New York Times sobre soldados en misión de paz denominados "Guardianes" que conciben un terrible plan para atraer la atención del mundo una vez finalizado su período de servicio. Se ha(n) seleccionado 1 registro(s).
Nota |
---|
En todos los ejemplos de db2ext.highlight, la función de tabla db2ext.textsearch busca cualquiera de los términos siguientes: "superventas", "paz", "soldados" o "atención". |
En este ejemplo, se llama a la función db2ext.highlight para visualizar el documento entero y resaltar todas las coincidencias que la función db2ext.textsearch haya encontrado.
select p.docid, db2ext.highlight(p.comment, t.hitinformation, ' WINDOW_NUMBER = 0, TAGS = ("<bf>", "</bf>" ) ') as highlight from DB2EXT.TEXTTAB p, table (db2ext.textsearch('"superventas" | "paz" | "soldados" | "atención"', 'DB2EXT', 'COMMENT', 0, 20, cast(NULL as INTEGER), 10)) t where p.docid = t.primkey and p.docid = 2
El argumento de búsqueda devuelve el resultado siguiente:
DOCID HIGHLIGHT 2 Un <bf>superventas</bf> de New York Times sobre <bf>soldados</bf> en <bf>misión de paz</bf> denominados "Guardianes" que conciben un terrible plan para atraer la <bf>atención</bf> del mundo una vez finalizado su período de servicio. Se ha(n) seleccionado 1 registro(s).
En este ejemplo, se llama a la función db2ext.highlight para visualizar un máximo de 10 partes (ventanas) del documento. El tamaño de cada ventana es de 24, los que representa aproximadamente 12 bytes de datos por cada parte de la coincidencia. Además, se resaltan las coincidencias que ha encontrado la función db2.textsearch.
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('"superventas" | "paz" | "soldados" | "atención"', 'DB2EXT', 'COMMENT', 0, 20, cast(NULL as INTEGER), 10)) t where p.docid = t.primkey and p.docid = 2
El argumento de búsqueda devuelve el resultado siguiente:
DOCID HIGHLIGHT 2 York Times <bf>superventas</bf> sobre <bf>soldados</bf> ... <bf>soldados</bf> en misión de <bf>paz</bf> denominado "Gua ... la <bf>atención</bf> del mundo una vez ... Se ha(n) seleccionado 1 registro(s).
La primera coincidencia encontrada es <bf>superventas</bf> y esta coincidencia determina la primera ventana. La segunda coincidencia, <bf>paz</bf> sólo está a 8 bytes de la primera coincidencia y se incluye totalmente en la primera ventana. La tercera coincidencia, <bf>soldados</bf>, queda fuera de la primera ventana y determina una ventana nueva. Puesto que la segunda coincidencia, <bf>paz</bf>, sólo está a 2 bytes de la parte izquierda de la coincidencia <bf>soldados</bf>, también se incluye en la segunda ventana y se resalta. La cuarta coincidencia, <bf>atención</bf>, queda fuera de la segunda ventana y, por lo tanto, determina una ventana nueva. Puesto que el tamaño de esta ventana no contiene ninguna coincidencia anterior ni adicional, la ventana sólo contiene los datos de alrededor de la coincidencia.
Adicionalmente, como que no se ha especificado WINDOW_SEPARATOR, el separador de ventanas por omisión, " ... " se utiliza para separar las tres ventanas de documentos.
Nota |
---|
Para garantizar que el rendimiento sea alto al utilizar la función db2ext.highlight, el usuario debería limitar los resultados de la búsqueda en la función de valor de tabla db2ext.textsearch. |
Vea DB2EXT.HIGHLIGHT para obtener más detalles sobre los parámetros.