Documentation
(C) IBM Corp. 1996, 2000

DB2 Text Extender Administración y programación


Redefinición de la búsqueda anterior

Cuando un argumento de búsqueda encuentra demasiadas apariciones, a menudo es útil reducir o redefinir la búsqueda combinando el argumento de búsqueda inicial con un segundo argumento de búsqueda en una relación AND booleana.

Puede redefinir los resultados de la búsqueda sin utilizar la función REFINE, almacenando los resultados en una tabla y realizando una nueva búsqueda en esa tabla. Sin embargo, dependiendo del número de términos calificados, este método es menos eficaz que almacenar el último argumento de búsqueda y utilizar REFINE.

Los pasos siguientes muestran cómo se realiza una búsqueda y, después, se redefine utilizando la función REFINE. La función REFINE devuelve un argumento de búsqueda que es una combinación de AND booleano y sus dos parámetros de entrada. El argumento de búsqueda combinada devuelto por REFINE es un valor de tipo LONG VARCHAR.

  1. Cree una tabla para los anteriores argumentos de búsqueda.

    Cree la tabla PREVIOUS_SEARCHES para que contenga los argumentos de las búsquedas que ya se han realizado.

    db2=>CREATE TABLE PREVIOUS_SEARCHES (step INT,
                                         searchargument LONG VARCHAR)
    




    REQTEXT

  2. Busque el primer argumento de búsqueda.

    Busque la palabra "compress" en la tabla de ejemplo.

    db2=>SELECT COMMENT
           FROM DB2TX.SAMPLE
           WHERE DB2TX.CONTAINS (COMMENTHANDLE, '"compress"') = 1
    

    Inserte el argumento de búsqueda en la tabla PREVIOUS_SEARCHES para utilizarlo en pasos posteriores.

    db2=>INSERT INTO PREVIOUS_SEARCHES
           VALUES (1, '"compress"')
    




    REQTEXT

  3. Redefina la búsqueda.

    Suponiendo que la búsqueda devuelva demasiados documentos de texto, redefina la búsqueda combinando el término que ha buscado anteriormente con la palabra "compiler" utilizando la función REFINE.

    db2=>WITH LAST_STEP(STEP_MAX)
              AS (SELECT MAX(STEP)
                  FROM PREVIOUS_SEARCHES),
              LAST_SEARCH(LAST_SEARCH)
              AS (SELECT SEARCHARGUMENT
                  FROM PREVIOUS_SEARCHES,LAST_STEP
                  WHERE STEP = STEP_MAX)
         SELECT COMMENT
              FROM DB2TX.SAMPLE, LAST_SEARCH
              WHERE DB2TX.CONTAINS(COMMENTHANDLE,
                          DB2TX.REFINE(LAST_SEARCH, '"compiler"')) = 1
    

    Inserte el argumento de búsqueda redefinido en la tabla PREVIOUS_SEARCHES para utilizarlo en pasos posteriores.

    db2=>INSERT INTO PREVIOUS_SEARCHES
           WITH LAST_STEP(STEP_MAX)
                AS (SELECT MAX(STEP)
                    FROM PREVIOUS_SEARCHES)
           SELECT STEP_MAX+1, DB2TX.REFINE(SEARCHARGUMENT, '"compiler"')
             FROM PREVIOUS_SEARCHES, LAST_STEP
    




    REQTEXT

    Puede repetir este paso hasta que el número de documentos de texto encontrados sea lo suficientemente pequeño.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]