IBM Books
(C) IBM Corp. 2000

DB2 Net Search Extender Guía de administración y del usuario

Compilación de un archivo de definición en un diccionario tesauro

Para compilar un archivo de definición de diccionario tesauro, ejecute el mandato db2extth. Para ver la sintaxis del mandato, consulte el apartado DB2EXTTH (Programa de utilidad).

Para utilizar un diccionario tesauro dentro de un entorno particionado, asegúrese de que todos los nodos físicos pueden acceder los archivos creados.

Sugerencia

Consulte el Apéndice M, Mensajes devueltos por las herramientas del diccionario tesauro.


Part 2. Consulta

Este manual está compuesto por dos partes. Esta parte contiene información de consulta. La primera parte, Part 1, Guía del usuario, contiene conceptos e información de guía y planificación.


Chapter 11. Mandatos de administración para el propietario de la instancia

En este capítulo se describe la sintaxis de los mandatos de administración para el propietario de la instancia. La administración del propietario de la instancia consiste en comprobar el estado de bloqueo y los servicios de actualización de DB2 Net Search Extender e iniciar y detener estos servicios.

Para obtener información adicional, vea el Chapter 5, Servicios de instancia de Net Search Extender.

Los mandatos son una variación del mandato DB2TEXT y permiten la administración de los servicios de DB2 Net Search Extender que son específicos para una instancia de DB2.

CONTROL

Este mandato le permite listar y suprimir los bloqueos de índice de texto completo gestionados por los servicios de Net Search Extender Instance. Si se están ejecutando los servicios de bloqueo y actualización, puede ver su estado así como información sobre la antememoria activada.

En un entorno DB2 distribuido, esto sólo afecta la partición actual. El usuario es responsable de invocar el mandato de DB2, db2_all para las particiones que desee.

Autorización

Debe ejecutar este mandato como propietario de una instancia de DB2 en el servidor.

Sintaxis del mandato

>>-CONTROL--+-CLEAR--|conjunto-de-bloqueos|------------------+-><
            +-LIST--|conjunto-de-bloqueos|-------------------+
            +-SHOW-CACHE-STATUS-FOR--|especificación-índice|-+
            '-STATUS-----------------------------------------'
 
conjunto-de-bloqueos:
 
|--ALL-LOCKS-FOR--+-|especificación-basedatos|-+----------------|
                  '-|especificación-índice|----'
 
especificación-índice:
 
|--|especificación-basedatos|--INDEX---------------------------->
 
>--+--------------------+--nombre-índice------------------------|
   '-esquema-índice-"."-'
 
especificación-basedatos:
 
|--DATABASE--nombre-basedatos-----------------------------------|
 
 

Parámetros del mandato

CLEAR
Utilice CLEAR para imponer una limpieza en un conjunto de bloqueos. Utilice este mandato con cuidado, después de comprobar la causa del problema de bloqueo.

LIST
Utilice LIST para obtener información sobre los bloqueos actuales retenidos para un índice o base de datos determinados. Si hay un bloqueo de la actualización, puede obtener información sobre los documentos que se han procesado.

Para ver el número de documentos actualizados durante el proceso de actualización. también puede utilizar LIST. Tenga en cuenta que sólo se puede utilizar mientras el bloqueo mantiene el índice.

Al utilizar una tabla de capturas de duplicación, no hay operaciones de actualización. En su lugar, las operaciones de inserción pueden ser desde una operación de inserción o de actualización en la tabla fuente en la que se ha creado el índice.

conjunto-de-bloqueos
Sólo funciona con los bloqueos de la base de datos o el índice especificado.

SHOW CACHE STATUS FOR
Muestra el estado de activación de una tabla situada en la antememoria del índice especificado. Puede ser "No activada" o "Activada actualmente". Si la antememoria está activada, muestra los detalles del uso de la memoria de antememoria. Por ejemplo, el tamaño máximo de antememoria (en megabytes), el número máximo de documentos que se pueden insertar y el espacio que queda en la tabla de antememoria (en kilobytes).

STATUS
Si se utiliza la palabra clave STATUS, el mandato muestra si los servicios de bloqueo y actualización de Net Search Extender Instance están activados y en ejecución.

DATABASE nombre de base de datos
Nombre de la base de datos del servidor que se está utilizando.

INDEX esquema-índice.nombre-índice
Esquema y nombre del índice de texto que se está utilizando actualmente. Esto se especifica en el mandato CREATE INDEX.

Uso

Cuando un mensaje de error de mandato de administración indique que existe un problema de bloqueo, asegúrese de que no se esté ejecutando ninguna tarea conflictiva. Por ejemplo, intentar ejecutar el mandato ALTER mientras se está ejecutando un mandato UPDATE. A continuación libere todos los bloqueos del índice.

Utilice SHOW CACHE STATUS para que la actualización de un índice incremental compruebe que el tamaño de memoria especificado sigue siendo lo suficientemente grande como para contener toda la información de la siguiente actualización o que compruebe si se ha producido la activación.

START

Este mandato inicia un daemon que controla el bloqueo de los índices de texto completo y la actualización automática de los índices de texto completo del servidor de DB2.

Nota

Como el mandato no activa ninguna tabla de la antememoria temporal para los índices, se necesitan mandatos ACTIVATE CACHE individuales para realizar búsquedas con un procedimiento almacenado.

Autorización

Debe ejecutar este mandato como propietario de una instancia de DB2 en un servidor, o en cualquier de los servidores de un entorno DB2 distribuido.

Sintaxis del mandato

>>-START-------------------------------------------------------><
 
 

Parámetros del mandato

Ninguno.

Uso

En Windows, el mandato inicia un servicio db2ext-<NombreInstancia>. Este mandato también se puede iniciar utilizando métodos normales de Windows.

Para bloquear índices de texto completo, puede modificar un archivo de configuración de modo que se ajuste a sus necesidades. Vea Servicios de bloqueo para obtener más información.

STOP

Este mandato detiene los servicios de bloqueo y actualización de Net Search Extender.

Autorización

Debe ejecutar este mandato como propietario de una instancia de DB2 en un servidor, o en cualquier de los servidores de un entorno DB2 distribuido.

Sintaxis del mandato

>>-STOP--+-------+---------------------------------------------><
         '-FORCE-'
 
 

Parámetros del mandato

FORCE
Detiene los servicios aunque algunos procesos mantengan bloqueos o la tabla de la antememoria esté activada para cualquier índice. Si no se especifica FORCE, el mandato no funcionará en estos casos.

Uso

Si se detienen los servicios de Net Search Extender Instance no se podrán seguir utilizando mandatos específicos de Net Search Extender. Cuando reinicie los servicios, deberá volver a activar la antememoria temporal si anteriormente había utilizado una antememoria activada con el índice.

Tenga en cuenta que si la antememoria está activada o se están ejecutando mandatos de Net Search Extender los servicios no se detendrán.

Para bloquear índices de texto completo, puede modificar un archivo de configuración de modo que se ajuste a sus necesidades. Vea Servicios de bloqueo para obtener más información.


Chapter 12. Mandatos de administración para el administrador de bases de datos

En este capítulo se describe la sintaxis de los mandatos de administración para el administrador de bases de datos. La administración de las bases de datos conlleva la configuración de la base de datos para que DB2 Net Search Extender pueda utilizarla y la desactivación posterior de esta configuración.

El Chapter 6, Creación y mantenimiento de un índice de texto describe cómo utilizar estos mandatos.

Sólo los mandatos ENABLE DATABASE y DISABLE DATABASE son una variación del mandato DB2TEXT, aunque todos estos mandatos permiten la administración a nivel de base de datos.

Mandato Finalidad Página
ENABLE DATABASE Permite que la base de datos actual cree índices de texto completo. ENABLE DATABASE
DISABLE DATABASE Restablece el trabajo de preparación que DB2 Net Search Extender ha realizado para una base de datos. DISABLE DATABASE
DB2EXTDL (programa de utilidad) UDF por omisión para recuperar el contenido de una columna de texto Data Link. DB2EXTDL (programa de utilidad)
DB2EXTHL (programa de utilidad) La UDF toma un documento de 100 KB y devuelve un CLOB de 200 KB DB2EXTHL (programa de utilidad)
Sugerencia

Si no se ha especificado ninguna conexión de base de datos como parte del mandato db2text, el ejecutable db2text origina una conexión implícita con la base de datos por omisión especificada en la variable de entorno DB2DBDFT.

ENABLE DATABASE

Este mandato permite que una base de datos cree y utilice índices de texto completo en columnas de texto.

Autorización

Debe ejecutar este mandato como administrador de la base de datos para habilitar la base de datos. Para ello necesita tener la autorización SYSADM para poder otorgar DBADM al propietario de la instancia de DB2.

Sintaxis del mandato

>>-ENABLE-DATABASE-FOR-TEXT--+---------------------+-----------><
                             '-|opciones-conexión|-'
 
opciones-conexión:
 
|--+----------------------------------------------------------------------+--|
   '-CONNECT-TO--nombre-basedatos--+------------------------------------+-'
                                   '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

CONNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT se ha establecido y el usuario está ejecutando el mandato con un ID de usuario que tenga las autorizaciones de DB2 necesarias.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos.

Uso

Este mandato prepara la base de datos conectada para que DB2 Net Search Extender la utilice. Es un paso obligatorio para poder crear un índice de DB2 Net Search Extender en tablas/columnas de la base de datos.

Los valores por omisión de la base de datos que se establecen después de ejecutar el mandato se pueden visualizar utilizando la vista de catálogo DB2EXT.DBDEFAULTS.

Cambios en la base de datos
Este mandato otorga la autorización DBADM al propietario de la instancia de DB2 asociado con la instancia de DB2 de la base de datos habilitada.

El mandato ENABLE DATABASE crea varios objetos de base de datos en el esquema DB2EXT como, por ejemplo, catálogos de DB2 Net Search Extender, UDF y procedimientos almacenados. Después de ejecutar el mandato, estarán disponibles las siguientes vistas de catálogo:

db2ext.dbdefaults
db2ext.textindexes
db2ext.textindexformats
db2ext.indexconfiguration
db2ext.proxyinformation

Tenga en cuenta que las vistas de DB2 Text Information Extender también están disponibles para conseguir compatibilidad con versiones anteriores. Consulte el Apéndice C, Catálogos de información de Net Search Extender para obtener más información.

Tenga en cuenta también que las tablas anteriores se encuentran en el espacio de tablas por omisión de la base de datos, conocido como IBMDEFAULTGROUP. Este espacio se distribuye por todos los nodos definidos en db2nodes.cfg

Cambios en el sistema de archivos
Ninguno.

DISABLE DATABASE

Este mandato deshace los cambios de DB2 Net Search Extender en una base de datos.

Autorización

Debe ejecutar este mandato como administrador de la base de datos para inhabilitar la base de datos. Para ello, debe disponer de autorización DBADM.

Sintaxis del mandato

>>-DISABLE-DATABASE-FOR-TEXT--+-------+------------------------->
                              '-FORCE-'
 
>--+---------------------+-------------------------------------><
   '-|opciones-conexión|-'
 
opciones-conexión:
 
|--+----------------------------------------------------------------------+--|
   '-CONNECT-TO--nombre-basedatos--+------------------------------------+-'
                                   '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

CONNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT se ha establecido y el usuario está ejecutando el mandato con un ID de usuario que tenga las autorizaciones de DB2 necesarias.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos.

FORCE
Impone el descarte de todos los índices de DB2 Net Search Extender de la base de datos. Consulte el DROP INDEX para obtener más información.

Uso

Este mandato restablece la base de datos conectada para que otros mandatos de DB2 Net Search Extender no puedan utilizarla más. Si existen índices de texto completo en la base de datos, este mandato no funcionará a menos que se utilice la opción FORCE.

Este mandato no quita la autorización DBADM al propietario de la instancia de DB2.

Nota

La inhabilitación de una base de datos no será satisfactoria si existen índices de texto definidos en la base de datos. Es recomendable eliminar estos índices uno a uno y, a continuación, comprobar si se producen problemas. Si se utiliza el mandato disable database for text force, sólo podrá estar seguro de que se han eliminado las tablas de catálogos de Net Search Extender de la base de datos.

Sin embargo, si algunos de los índices no se pueden descartar por completo, puede que todavía haya recursos que se deban eliminar manualmente. Estos recursos incluyen:

  • Archivos en el directorio de índices, de trabajo y de antememoria
  • Entradas de planificador en ctedem.dat
  • Donde se haya creado un índice utilizando la opción de captura de duplicación, se deberán suprimir manualmente las entradas IBMSNAP_SIGNAL, IBMSNAP_PRUNE_SET IBMSNAP_PRUNCNTL de las tablas de la base de datos remota. Estas entradas se pueden identificar fácilmente utilizando el mandato APPLY_QUAL="NSE"||<nombre instancia> and TARGET_SERVER= <nombre base datos>.

    En el ejemplo siguiente, la instancia es DB2 y la base de datos es SAMPLE.

    DELETE FROM <Esquemacc>.IBMSNAP_SIGNAL
    WHERE SIGNAL_INPUT_IN IN
            (SELECT MAP_ID FROM <Esquemacc>.IBMSNAP_PRUNCNTL
            WHERE APPLY_QUAL= 'NSEDB2' AND TARGET_SERVER= 'SAMPLE');
     
    DELETE FROM <Esquemacc>.IBMSNAP_PRUNCNTL
    WHERE APPLY_QUAL= 'NSEDB2' AND TARGET_SERVER= 'SAMPLE';
     
    DELETE FROM <esquemacc>.IBMSNAP_PRUNE_SET
    WHERE APPLY_QUAL= 'NSEDB2' AND TARGET_SERVER= 'SAMPLE';
     
    

Cambios en la base de datos
Se suprimen las siguientes modificaciones realizadas en la base de datos para habilitar DB2 Net Search Extender:

Cambios en el sistema de archivos y en la memoria compartida
Si se utiliza la opción FORCE, los archivos de índices se suprimirán.

Si se utiliza la opción FORCE, la antememoria se suprimirá para cualquier antememoria de índices activada. Vea DROP INDEX para obtener más información.

DB2EXTDL (programa de utilidad)

Por omisión, la UDF que recupera el contenido de una columna de texto Data Link devuelve un valor BLOB de 100 KB. En función del tamaño del documento más grande de la base de datos a la que Data Link hace referencia, este valor se podrá aumentar o reducir.

Autorización

Debe ejecutar este mandato como administrador de la base de datos para habilitar la base de datos. Para ello necesita tener la autorización SYSADM para poder otorgar DBADM al propietario de la instancia de DB2.

Sintaxis del mandato

>>-db2extdl--nuevo-tamaño-resultado----------------------------><
 
 

Parámetros del mandato

nuevo-tamaño-resultado
El nuevo tamaño del resultado de la UDF para recuperar el contenido de Data Link en kilobytes. Se trata del entero positivo <2097152.

DB2EXTHL (programa de utilidad)

Por omisión, la UDF de resaltado toma como entrada un documento de un máximo de 100 KB y devuelve un CLOB de 200 KB. En función del tamaño del documento más grande de la base de datos, podrá aumentar el valor de entrada a un tamaño máximo de 1 GB.

Autorización

Debe ejecutar este mandato como administrador de la base de datos para habilitar la base de datos. Para ello necesita tener la autorización SYSADM para poder otorgar DBADM al propietario de la instancia de DB2.

Sintaxis del mandato

>>-db2exthl--nuevo-tamaño-entrada-resaltada--------------------><
 
 

Parámetros del mandato

nuevo-tamaño-entrada-resaltada
Es el nuevo tamaño del resultado de la UDF de resaltado en KB. Se trata del entero positivo <1048576.

Chapter 13. Mandatos de administración para el propietario de la tabla de texto

En este capítulo se describe la sintaxis de los mandatos de administración para el propietario de la tabla de texto.

El Chapter 6, Creación y mantenimiento de un índice de texto describe cómo utilizar estos mandatos.

Los mandatos son una variación del mandato DB2TEXT. Permiten al propietario de una tabla crear y manipular índices de texto completo en las columnas de la tabla.

Mandato Finalidad Página
ACTIVATE CACHE Activa la antememoria, por lo que permite realizar operaciones de búsqueda que utilizan el procedimiento almacenado ACTIVATE CACHE
ALTER INDEX Cambia las características de un índice ALTER INDEX
CLEAR EVENTS Suprime los sucesos de índice de una tabla de sucesos de índice utilizada durante la actualización del índice CLEAR EVENTS
CREATE INDEX Crea un índice de texto completo CREATE INDEX
DEACTIVATE CACHE Desactiva la antememoria, por lo que ya no es posible realizar operaciones de búsqueda utilizando el procedimiento almacenado DEACTIVATE CACHE
DB2EXTTH (Programa de utilidad) Compila el archivo de definición de diccionario tesauro DB2EXTTH (Programa de utilidad)
DROP INDEX Descarta un índice de texto completo de una columna de texto DROP INDEX
ENABLE DATABASE Permite que la base de datos actual cree índices de texto completo ENABLE DATABASE
UPDATE INDEX Empieza el proceso de indexación basándose en el contenido actual de las columnas de texto UPDATE INDEX
HELP Visualiza la lista de las opciones del mandato de DB2TEXT HELP
COPYRIGHT Visualiza la información de copyright y del producto Net Search Extender COPYRIGHT
Sugerencia

Si no se ha especificado ninguna conexión de base de datos como parte del mandato db2text, el ejecutable db2text origina una conexión implícita con la base de datos por omisión especificada en la variable de entorno DB2DBDFT.

ACTIVATE CACHE

Este mandato activa la tabla de la antememoria desde la tabla de usuario de DB2 o desde la antememoria permanente. Cuando termina, es posible realizar operaciones de búsqueda utilizando el procedimiento almacenado. Consulte el Chapter 16, Función de búsqueda del procedimiento almacenado para obtener más información.

Este mandato sólo está disponible si el índice se ha creado con una opción CACHE TABLE. Vea CREATE INDEX para obtener más información.

Autorización

Según las vistas de catálogo de DB2, el ID de usuario de este mandato debe tener el privilegio CONTROL sobre la tabla para la que se haya creado el índice de texto completo.

Sintaxis del mandato

>>-ACTIVATE CACHE FOR INDEX------------------------------------->
 
>--+--------------------+--nombre-índice--FOR-TEXT-------------->
   '-esquema-índice-"."-'
 
>--+----------+--+---------------------+-----------------------><
   '-RECREATE-'  '-|opciones-conexión|-'
 
opciones-conexión:
 
|--+----------------------------------------------------------------------+--|
   '-CONNECT-TO--nombre-basedatos--+------------------------------------+-'
                                   '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

esquema-índice
Esquema del índice de texto, tal como se ha especificado en el mandato CREATE INDEX. Si no se ha especificado ningún esquema, se utilizará el ID de usuario de la conexión de DB2.

nombre-índice
Nombre del índice de texto, tal como se ha especificado en el mandato CREATE INDEX.

RECREATE
Sólo se aplica a los índices que utilizan una antememoria permanente; se suprime una antememoria existente. Si se ha completado una actualización sin activación, la antememoria permanente se reconstruirá automáticamente a partir de la base de datos,.

CONNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT está establecido y el usuario está ejecutando el mandato en el servidor. Tenga en cuenta que el ID de usuario debe tener las autorizaciones necesarias de DB2.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos. Si no se especifica, se intentará realizar una conexión a partir del ID de usuario actual sin contraseña.

Uso

El mandato no se podrá emitir si se está ejecutando uno de los mandatos siguientes sobre el índice:

Nota

La activación de una tabla de la antememoria puede necesitar que se vuelva a crear desde cero aunque se haya utilizado una antememoria permanente. Esto ocurre si se ha realizado una operación de actualización mientras la antememoria permanente estaba desactivada.

La cantidad de memoria que se emplea para crear la antememoria se calcula dinámicamente a partir del número actual de documentos y el tamaño de las columnas de resultados. Utilice el valor de PCTFREE para incrementar la cantidad mínima de memoria calculada por el factor 100/(100-PCTFREE). El valor de PCTFREE se especifica en el mandato CREATE o ALTER INDEX.

Por lo tanto, PCTFREE describe el porcentaje de antememoria asignada que se reserva para las operaciones de inserción mientras la antememoria está activada. Tenga en cuenta que para cada mandato ACTIVATE CACHE, se vuelve a evaluar el tamaño real de la memoria.

Cambios en el sistema de archivos
Se crean los archivos para implementar la antememoria permanente.

ALTER INDEX

El mandato cambia las características de un índice de texto completo como, por ejemplo, las opciones de actualización y las de almacenamiento.

Autorización

Según las vistas de catálogo de DB2, el ID de usuario de este mandato debe tener el privilegio CONTROL sobre la tabla para la que se haya creado el índice de texto completo.

Sintaxis del mandato

>>-ALTER-INDEX--+--------------------+--nombre-índice----------->
                '-esquema-índice-"."-'
 
>--FOR-TEXT--+---------------------------------+---------------->
             '-|características-actualización|-'
 
>--+---------------------------+--+---------------------+------><
   '-|opciones-almacenamiento|-'  '-|opciones-conexión|-'
 
opciones-almacenamiento:
 
|--+-----------------------------+------------------------------>
   '-INDEX-DIRECTORY--directorio-'
 
>--+------------------------------------+----------------------->
   '-WORK-DIRECTORY--directorio-trabajo-'
 
>--+-------------------------------------------------+---------->
   '-CACHE TABLE--+-PERSISTENT--+----------------+-+-'
                  |             '-IN--directorio-' |
                  '-TEMPORARY----------------------'
 
>--+---------------------+-------------------------------------->
   '-PCTFREE--porcentaje-'
 
>--+------------------------------------+-----------------------|
   '-MAXIMUM CACHE SIZE--tamaño-memoria-'
 
características-actualización:
 
|--+--------------------------------------------------+--------->
   '-UPDATE-FREQUENCY--+-NONE-----------------------+-'
                       '-|frecuencia-actualización|-'
 
>--+---------------------------------+-------------------------->
   '-UPDATE-MINIMUM--cambios-mínimos-'
 
>--+--------------------------------------+---------------------|
   '-COMMITCOUNT-FOR-UPDATE--número total-'
 
frecuencia-actualización:
 
|--D--(--+-*---------+--)--H--(--+-*----------+--)--M----------->
         | .-,-----. |           | .-,------. |
         | V       | |           | V        | |
         '---0...6-+-'           '---0...23-+-'
 
      .-,------.
      V        |
>--(----0...59-+--)---------------------------------------------|
 
opciones-conexión:
 
|--+----------------------------------------------------------------------+--|
   '-CONNECT-TO--nombre-basedatos--+------------------------------------+-'
                                   '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

esquema-índice
Esquema del índice de texto tal como se ha especificado en el mandato CREATE INDEX. Si no se ha especificado ningún esquema, se utilizará el ID de usuario de la conexión de DB2.

nombre-índice
Nombre del índice de texto tal como se ha especificado en el mandato CREATE INDEX.

INDEX DIRECTORY directorio
Vía de acceso del directorio donde se almacenar el índice de texto. Como el directorio contendrá datos de índice, asegúrese de que el directorio tenga permiso de lectura/grabación y ejecución para el ID de usuario del propietario de la instancia de DB2.

Tenga en cuenta que en un entorno DB2 distribuido, este directorio tiene que existir en cada nodo. Se crea un subdirectorio, NODE<nr>, en el directorio para distinguir los índices de nodos lógicos de un servidor. Se suprimen todos los archivos de índice del directorio de índices anterior.

WORK DIRECTORY directorio-trabajo
Almacena archivos temporales durante operaciones de búsqueda y administración. El directorio de trabajo separado se puede cambiar independientemente de un directorio de índice nuevo.

Si el directorio no existe, se creará uno para el ID de usuario del propietario de la instancia de DB2. Si ya existe, asegúrese de que el directorio tenga permiso de lectura/grabación sobre las plataformas UNIX para el propietario de la instancia.

Tenga en cuenta que en un entorno DB2 distribuido, este directorio tiene que existir en cada nodo. Se crea un subdirectorio, NODE<nr>, en el directorio para distinguir los índices de nodos lógicos de un servidor. Se suprimen todos los archivos de índice temporales del directorio de índices anterior.

CACHE TABLE PERSISTENT IN directorio
Especifica que, después de una desactivación o un rearranque del sistema, la tabla de la antememoria de CREATE INDEX es permanente. En cualquier caso, esto permite una ejecución rápida de ACTIVATE CACHE. La antememoria permanente se almacena en el directorio especificado.

La antememoria permanente creada anteriormente se trasladas a una ubicación nueva. Esta ubicación siempre necesita un índice desactivado.

CACHE TABLE TEMPORARY
Especifica que la tabla de resultado de la antememoria ahora es temporal y se ha suprimido toda antememoria permanente que existiera anteriormente. Tenga en cuenta que este cambio requiere un índice desactivado.

MAXIMUM CACHE SIZE tamaño-antememoria
Especifica el nuevo tamaño máximo de la tabla de la antememoria que debe crearse durante ACTIVATE CACHE. Especifique el parámetro tamaño-memoria en megabytes, como un entero positivo.

Si el entero es demasiado pequeño, el mandato ACTIVATE CACHE fallará. El tamaño real de la antememoria se calcula durante el mandato ACTIVATE CACHE. Este cambio requiere un índice desactivado.

PCTFREE porcentaje
Especifica el porcentaje de la antememoria que debe mantenerse libre para documentos adicionales. El porcentaje debe ser un valor entero menor que 100 y mayor o igual a 0. Tenga en cuenta que la antememoria permanente anterior se suprime y que este cambio requiere un índice desactivado. Consulte la sección ACTIVATE CACHE.

UPDATE FREQUENCY
Utilizando los siguientes parámetros, la frecuencia de actualización del índice determina cuándo se realiza la actualización:

Si no especifica la palabra clave UPDATE FREQUENCY, los valores de frecuencia se dejan sin modificar.

UPDATE MINIMUM cambios-mínimos
Número mínimo de cambios permitidos en los documentos de texto antes de que el índice se actualice de forma incremental. Si no especifica la palabra clave UPDATE MINIMUM, el valor no se modificará.

Tenga en cuenta que sólo podrá cambiar UPDATE MINIMUM si no ha creado el índice utilizando la opción RECREATE ON UPDATE.

COMMITCOUNT FOR UPDATE número total
Para el proceso de actualizaciones, puede especificar un número total de confirmaciones. Vea UPDATE INDEX para obtener más información. Esto se aplica tanto al mandato UPDATE como a la especificación UPDATE FREQUENCY, que planifica el proceso de actualización.

Tenga en cuenta que sólo podrá cambiar COMMITCOUNT si no ha creado el índice utilizando la opción RECREATE ON UPDATE.

Tenga en cuenta también que no podrá cambiar COMMITCOUNT si ha creado el índice con la cláusula REPLICATION.

CONNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT está establecido y el usuario está ejecutando el mandato en el servidor. Tenga en cuenta que el ID de usuario debe tener las autorizaciones necesarias de DB2.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos. Si no se especifica, se intentará realizar una conexión a partir del ID de usuario actual sin contraseña.

Uso

El mandato no se podrá emitir si se está ejecutando uno de los mandatos siguientes sobre el índice:

Si crea el índice con una opción de antememoria, no puede utilizar el mandato ALTER INDEX para el directorio de índices cuando se activa el índice. En primer lugar debe desactivar la antememoria.

En un entorno DB2 distribuido, sólo se permite un índice de texto con opciones de antememoria en un espacio de tabla de un solo nodo.

Cambios en la base de datos
Cambios en las vistas de catálogo de DB2 Net Search Extender.

Cambios en el sistema de archivos

CLEAR EVENTS

Este mandato suprime los sucesos de indexación de una vista de sucesos de índice. Utilice la vista de sucesos con fines administrativos. El nombre de la vista de sucesos se encuentra en la columna EVENTVIEWNAME de la vista DB2EXT.TEXTINDEXES.

Autorización

Según las vistas de catálogo de DB2, el ID de usuario de este mandato debe tener el privilegio CONTROL sobre la tabla para la que se haya creado el índice de texto completo.

Sintaxis del mandato

>>-CLEAR-EVENTS-FOR-INDEX--------------------------------------->
 
>--+--------------------+--nombre-índice--FOR-TEXT-------------->
   '-esquema-índice-"."-'
 
>--+---------------------------+--+---------------------+------><
   '-COMMITCOUNT--número total-'  '-|opciones-conexión|-'
 
opciones-conexión:
 
|--+----------------------------------------------------------------------+--|
   '-CONNECT-TO--nombre-basedatos--+------------------------------------+-'
                                   '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

esquema-índice
Esquema del índice de texto tal como se ha especificado en el mandato CREATE INDEX. Si no se ha especificado ningún esquema, se utilizará el ID de usuario de la conexión de DB2.

nombre-índice
Nombre del índice de texto tal como se ha especificado en el mandato CREATE INDEX.

COMMITCOUNT número total
Un valor INTEGER >=0 visualiza el número de filas suprimidas por DB2 en una transacción.

CNNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT está establecido y el usuario está ejecutando el mandato en el servidor. Tenga en cuenta que el ID de usuario debe tener las autorizaciones necesarias de DB2.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos. Si no se especifica, se intentará realizar una conexión a partir del ID de usuario actual sin contraseña.

Uso

Cuando planifique actualizaciones regulares utilizando la opción UPDATE FREQUENCY de los mandatos CREATE o ALTER INDEX, compruebe regularmente la tabla de sucesos. Utilice CLEAR EVENTS para borrar las tablas de sucesos, después de haber comprobado el motivo del suceso y haber eliminado la causa del error.

Intente garantizar la coherencia entre el contenido de las columnas de texto de la tabla y el índice, especialmente al reindexar documentos.

El mandato no se podrá emitir si se está ejecutando uno de los mandatos siguientes sobre el índice:

CREATE INDEX

Este mandato crea un índice de texto completo en una columna de texto para su utilización en consultas de texto completo de DB2 Net Search Extender.

En un entorno DB2 distribuido, se crea un índice de texto completo en cada partición del espacio de tabla en el que está definida la tabla del usuario. No se permite realizar cambios posteriormente en la distribución del espacio de tabla y ello dará lugar a un comportamiento inesperado de los mandatos de administración y durante el proceso de búsqueda.

Autorización

Según las vistas de catálogo de DB2, el ID de usuario de este mandato debe tener el privilegio CONTROL sobre la tabla donde se haya creado el índice de texto completo.

Sintaxis del mandato

>>-CREATE-INDEX------------------------------------------------->
 
>--+--------------------+--nombre-índice FOR TEXT--ON----------->
   '-esquema-índice-"."-'
 
>--+-------------------+--nombre-tabla-------------------------->
   '-esquema-tabla-"."-'
 
>--+-(nombre-columna-texto)-------------------------------------------+-->
   '-+-----------------------+--nombre-función-(nombre-columna-texto)-'
     '-|esquema-función-"."|-'
 
>--+-------------------+--+-----------------------------+------->
   '-|lista-atributos|-'  '-|información-omisión-texto|-'
 
>--+---------------------------------+-------------------------->
   '-|características-actualización|-'
 
>--+---------------------------+-------------------------------->
   '-|opciones-almacenamiento|-'
 
>--+--------------------------------------------+--------------->
   '-|opciones-resultados-búsqueda-antememoria|-'
 
>--+---------------------------------+-------------------------->
   '-|opciones-configuración-índice|-'
 
>--+---------------------+-------------------------------------><
   '-|opciones-conexión|-'
 
lista de atributos:
 
                  .-','-------------------------------------------.
                  V                                               |
|--ATTRIBUTES--(----expresión-columna-SQL--+--------------------+-+--)--|
                                           '-nombre-atributo-AS-'
 
información-omisión-texto:
 
|--+--------------+--+------------------+----------------------->
   '-CCSID--ccsid-'  '-LANGUAGE--idioma-'
 
>--+--------------------------------------------+---------------|
   '-FORMAT--formato--+-----------------------+-'
                      '-|información-modelos|-'
 
información-modelos:
 
|--DOCUMENTMODEL--nombre-modelo-documentos--IN--víaacceso-archivo-modelos-->
 
>--+--------------------+---------------------------------------|
   '-USING-CCSID--ccsid-'
 
características-actualización:
 
|--+--------------------------------------------------+--------->
   '-UPDATE-FREQUENCY--+-NONE-----------------------+-'
                       '-|frecuencia-actualización|-'
 
>--+-|características-actualización-incremental|-+--------------|
   '-RECREATE INDEX ON UPDATE--------------------'
 
características-actualización-incremental:
 
|--+---------------------------------+-------------------------->
   '-UPDATE-MINIMUM--cambios-mínimos-'
 
>--+---------------------------+-------------------------------->
   '-REORGANIZE--+-AUTOMATIC-+-'
                 '-MANUAL----'
 
>--+--------------------------------------+---------------------|
   +-COMMITCOUNT-FOR-UPDATE--número total-+
   '-|características-tabla-capturas|-----'
 
características-tabla-capturas:
 
|--REPLICATION-CAPTURE-TABLE------------------------------------>
 
>--+----------------------------+--nombre-tabla-capturas-------->
   '-esquema-tabla-capturas-"."-'
 
>--CONTROL TABLE SCHEMA--esquema-control-capturas---------------|
 
frecuencia-actualización:
 
|--D--(--+-*---------+--)--H--(--+-*----------+--)--M----------->
         | .-,-----. |           | .-,------. |
         | V       | |           | V        | |
         '---0...6-+-'           '---0...23-+-'
 
      .-,------.
      V        |
>--(----0...59-+--)---------------------------------------------|
 
opciones-almacenamiento:
 
|--+-----------------------------+------------------------------>
   '-INDEX-DIRECTORY--directorio-'
 
>--+------------------------------------+----------------------->
   '-WORK-DIRECTORY--directorio-trabajo-'
 
>--+-----------------------------------------------+------------|
   '-ADMINISTRATION-TABLES-IN--nombre-espaciotabla-'
 
opciones-resultados-búsqueda-antememoria:
 
|--CACHE TABLE-------------------------------------------------->
 
      .-','--------------------------------------------.
      V                                                |
>--(----expresión-columna-SQL--+---------------------+-+--)----->
                               '-AS--nombre-atributo-'
 
>--+--------------------------------+--------------------------->
   +-PERSISTENT--+----------------+-+
   |             '-IN--directorio-' |
   '-TEMPORARY----------------------'
 
>--+---------------------+-------------------------------------->
   '-PCTFREE--porcentaje-'
 
>--MAXIMUM CACHE SIZE--tamaño-memoria--------------------------->
 
>--+----------------------------------------------------------+-->
   '-INITIAL SEARCH RESULT ORDER--(--ordenar-por-lista-SQL--)-'
 
>--+----------------------------------------------------------+--|
   '-KEY COLUMNS FOR INDEX ON VIEW--(lista-nombrecolumna-SQL)-'
 
opciones-configuración-índice:
 
                           .-,------------.
                           V              |
|--INDEX CONFIGURATION--(----valor-opción-+--)------------------|
 
opciones-conexión:
 
|--CONNECT-TO--nombre-basedatos--+------------------------------------+--|
                                 '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

esquema-índice
Esquema del índice de texto. Utilícelo como un nombre de esquema de DB2 para las tablas de administración específicas para el índice. Si no se ha especificado ningún esquema, se utilizará el ID de usuario de la conexión de DB2. Tenga en cuenta que el esquema de índice debe ser un nombre de esquema de DB2 válido.

nombre-índice
Nombre del índice. Junto con el esquema de índice, identifica un índice de texto completo de una base de datos de forma exclusiva. También sirve como nombre de la tabla de sucesos de índice.

Consulte el Apéndice C, Catálogos de información de Net Search Extender para obtener más detalles. Tenga en cuenta que el nombre de índice debe ser un nombre de índice de DB2 válido.

esquema-tabla
Esquema para el que se crea el índice de la tabla, el apodo o la vista. Si no se ha especificado ningún esquema, se utilizará el ID de usuario de la conexión de DB2.

nombre-tabla
Nombre de la tabla de texto, apodo o vista de la base de datos conectada que contiene la columna para la que se ha creado el índice de texto completo.

Tenga en cuenta que cuando el nombre de tabla no hace referencia a una tabla base de DB2, se aplican las limitaciones siguientes:

nombre-columna-texto
Nombre de la columna que contiene el texto utilizado para crear el índice de texto completo. La columna debe ser de uno de los siguientes tipos:

Si el tipo de la columna no es ninguno de los anteriores, especifique la función de transformación utilizando esquema-función.nombre-función para convertir el tipo de columna.

Tenga en cuenta que, si utiliza una columna de Data Link, el contenido al que se haga referencia se captará para la indexación. Esto se realiza mediante el protocolo que forma parte del valor de Data Link; por ejemplo, Http. Cuando utilice protocolos distintos a "file" o "unc", asegúrese de que reciban soporte con los servidores que formen parte de los valores de Data Link. Puesto que se podrían necesitar servidores proxy para obtener el contenido del archivo, el administrador de la base de datos puede especificarlos en la tabla DB2EXT.PROXYINFORMATION antes de crear el índice.

Tenga en cuenta que se permiten varios índices en las mismas columnas, pero sólo bajo las condiciones siguientes:

El índice se crea en una vista
Por lo tanto, no se puede utilizar el índice en los argumentos de búsqueda CONTAINS, SCORE o NUMBEROFMATCHES.

El índice se crea en una tabla
Si todos los índices están sincronizados, tienen propiedades idénticas en la misma columna en los siguientes detalles del mandato CREATE INDEX:
  • Nombre de función y esquema
  • ATTRIBUTES
  • CCSID
  • LANGUAGE
  • FORMAT
  • DOCUMENTMODEL
  • INDEX CONFIGURATION

Por lo tanto, no importa el índice que los argumentos CONTAINS, SCORE o NUMBEROFMATCHES elijan.

esquema-función.nombre-función
Esquema y nombre de una función definida por el usuario utilizada para acceder a documentos de texto que estén en una columna de un tipo no soportado. La función realiza una conversión de tipo de columna utilizando el parámetro de entrada de un tipo de columna arbitrario. Devuelve el valor de uno de los tipos soportados por Net Search Extender.

ATTRIBUTES (expresión-columna-SQL AS nombre-atributo, ...)
Garantiza que el contenido de una expresión de columna esté indexado además de la columna de texto. Este contenido también puede buscarse mediante la cláusula ATTRIBUTE en una sentencia de búsqueda. Las expresiones de columna-SQL deben definirse utilizando nombres de columna no calificados de la tabla en la que se ha creado el índice. Los únicos tipos de datos que se permiten son DOUBLE. Se pueden utilizar operadores de conversión en las expresiones de columna, pero la conversión implícita de DB2 no es posible. Los nombres-atributos deben seguir las reglas para los nombres-atributos en los modelos de documento y deben ser distintos de los nombres de atributos del archivo de definición-modelos de los índices.

Determine los nombres de atributos para las expresiones utilizando las normas siguientes:

Por ejemplo: ATTRIBUTES (CAST(JULIAN_DAY(date) AS DOUBLE) as day, (price1+price2)/2 as avg_price)

Tenga en cuenta que los atributos sin comillas se correlacionan a mayúsculas y se deben especificar de esta manera durante la búsqueda.

CCSID ccsid
El identificador de juego de caracteres codificados se utiliza al indexar documentos de texto. El valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='CCSID'.

LANGUAGE idioma
Para obtener una lista, consulte el Apéndice E, Idiomas soportados. El valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='LANGUAGE'.

FORMAT formato
Formato de los documentos de texto de la columna como, por ejemplo, HTML. Esta información es necesaria para indexar documentos. Consulte la sección Formatos de documentos y páginas de códigos soportadas para ver una lista de formatos de documentos que reciben soporte para los documentos estructurados.

Para los formatos de documentos estructurados, es posible especificar la información en un archivo de modelos de documento. Si no se especifica ningún modelo de documento, el texto del documento se indexa utilizando un modelo de documento por omisión. Consulte la sección Modelos de documento.

Si no se especifica la palabra clave format, el valor por omisión se tomará de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='FORMAT'.

DOCUMENTMODEL nombre-modelo-documentos IN víaacceso-archivo-modelos
víaacceso-archivo-modelos especifica la ubicación de un archivo de modelos. Éste contiene una definición de modelos para el formato de la cláusula FORMAT. El propietario de la instancia de DB2 debe poder leerlo. Un modelo de documento permite indexar y buscar secciones concretas de un documento. Los identificadores de marcaje y los nombres de sección también se pueden definir en un modelo de documento. Un modelo de documento está vinculado a un formato de documento que soporta las estructuras HTML, XML o GPP. Un modelo de documento sólo puede especificarse en un archivo de modelos.

Puesto que no es necesario hacer referencia a los modelos de documento en las condiciones de búsqueda, en lugar de esto utilice todos los nombres de sección del archivo de modelos. Para obtener información detallada sobre los modelos de documento, consulte el Chapter 9, Cómo trabajar con documentos estructurados. Tenga en cuenta que, como el modelo de documento sólo se lee durante la ejecución del mandato CREATE INDEX, los cambios posteriores no se reconocen para este índice.

Tenga en cuenta que en un entorno distribuido de DB2, utilice un sistema de archivos compartido para asegurar que la víaacceso-archivo-modelos sea accesible en cada nodo.

USING CCSID ccsid
Especifique un CCSID para interpretar el contenido del archivo de modelos. El valor por omisión se toma de la vista DB2EXT.DBDEFAULTS donde DEFAULTNAME='MODELCCSID'.

UPDATE FREQUENCY
La frecuencia de actualización del índice determina cuándo se realiza la actualización. Si los cambios de la tabla del usuario son menos que los especificados mediante la opción UPDATE MINIMUM, el índice no se actualiza. Si no especifica UPDATE FREQUENCY, se utiliza el valor por omisión NONE, por lo que no se realizan más actualizaciones del índice. Esto es útil cuando no se van a realizar más cambios en una columna de texto.

El valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='UPDATEFREQUENCY'.

UPDATE MINIMUM cambios-mínimos
Número mínimo de cambios permitidos en los documentos de texto antes de que el índice se actualice de forma automática con UPDATE FREQUENCY. Se permiten valores enteros positivos. El valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='UPDATEMINIMUM'.

Tenga en cuenta que este valor se ignora en un mandato de DB2TEXT UPDATE. Esta opción no puede utilizarse con la opción RECREATE INDEX ON UPDATE porque el número de cambios no está disponible sin una tabla de anotaciones cronológicas y activadores para la actualización incremental.

Para las bases de datos distribuidas, UPDATE MINIMUM se comprueba en cada nodo.

REORGANIZE AUTOMATIC/MANUAL
Las actualizaciones realizadas utilizando la frecuencia de actualización sólo reconocerán el índice si se especifica REORGANIZE AUTOMATIC. Este paso se realiza automáticamente después de la actualización, según el valor de select REORGSUGGESTED from DB2EXT.TEXTINDEXES.

REORGANIZE MANUAL sólo puede realizarse con un mandato UPDATE manual, utilizando la opción REORGANIZE.

Si se omite la cláusula REORGANIZE, el valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='AUTOMATICREORG'.

Para obtener más información sobre la opción REORGANIZE, vea UPDATE INDEX.

REPLICATION CAPTURE TABLE esquema-tabla-capturas.nombre-tabla-capturas CONTROL TABLE SCHEMA esquema-control-capturas
Para el proceso de las actualizaciones incrementales, se toma la tabla de capturas de duplicación especificada en lugar de una tabla de anotaciones cronológicas que se crea normalmente para el índice. Por lo tanto, el NombreEsquema, el NombreTabla y el nombre de la tabla de capturas de duplicación están relacionados con objetos de la base de datos DB2 local (federada).

El esquema-control-capturas es el nombre de esquema de las tablas de control de duplicación; por ejemplo IBMSNAP_PRUNE_SET en el sistema DB2 local. Las tablas de control de duplicación deben estar disponibles como apodos en el sistema DB2 local después de configurar la duplicación.

Como mínimo, debe haber apodos disponibles para las siguientes tablas de control de capturas:

Como el Centro de duplicación de DB2 no garantiza automáticamente la creación de apodos para una tabla de capturas remota y para tablas de control de capturas, ésta puede ser una tarea manual. Esta tarea es parecida a la creación de un apodo para la tabla en la que se va a crear el índice de texto.

Los nombres de las columnas de clave primaria del apodo de la tabla de usuario y del apodo de la tabla de capturas deben coincidir. Además, los nombres de las columnas IBMSNAP_OPERATION, IBMSNAP_COMMITSEQ e IBMSNAP_INTENTSEQ no se deben cambiar en el apodo de la tabla de capturas.

Tras la creación del índice, los nombres de las columnas DB2EXT.TEXTINDEXES(LOGVIEWNAME) y DB2EXT.TEXTINDEXES(LOGVIEWSCHEMA) harán referencia al nombre local de la tabla de capturas de duplicación.

Puesto que Net Search Extender no necesita todas las funciones del Centro de duplicación de DB2, la tabla Datos de cambio (CD) o la tabla Datos de cambio coherentes (CCD) debe obedecer las siguientes normas:

Entre otros requisitos están los siguientes:

Notas y restricciones

Asegúrese de que se inserta en la tabla de registro el nombre correcto de la tabla fuente. Dependiendo del tipo de DBMS remoto, se debe utilizar el nombre de la tabla remota o el apodo local:

  • DB2: nombre de la tabla remota (el nombre de tabla del servidor remoto)
  • No DB2: apodo local (el apodo correspondiente en la base de datos federada de DB2)

Debe existir una correlación de usuario para que el usuario local pueda acceder a los datos remotos mediante apodos y el usuario remoto debe tener privilegio de control sobre las tablas.

Si el ID de usuario del propietario de la instancia de DB2 es diferente del ID de usuario local, se necesitará una correlación de usuario adicional para el ID de usuario del propietario de la instancias de DB2.

El nombre de tabla base especificado no debe ser una vista en un apodo. Esto se debe a que puede haber una vista sobre varios apodos y también pueden estar implicadas varias tablas CD y CCD. Puesto que sólo se puede especificar una tabla CD o CCD en la cláusula de capturas de duplicación, no se puede dar soporte a una vista sobre apodos. Además, no se puede dar soporte a los apodos en vistas remotas porque falta la clave primaria.

La tabla CD o CCD debe ser un apodo y no puede ser una vista ni un alias.

Para obtener información sobre la publicación DB2 Replication Guide and Reference Version 8, consulte la sección Información relacionada.

COMMITCOUNT FOR UPDATE número total
Para el proceso de actualización incremental es posible especificar un número total de confirmaciones. Vea UPDATE INDEX para obtener más información. Si no se especifica, el valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='COMMITCOUNT'.

El valor COMMITCOUNT FOR UPDATE para el índice se encuentra en DB2EXT.TEXTINDEXES.COMMITCOUNT. Es posible cambiarlo para cada índice utilizando el mandato ALTER INDEX. También se aplica al proceso de actualización programado según la especificación UPDATE FREQUENCY. Un valor de 0 significa que la actualización se ha completado en una transacción y los valores >0 especifican el número de documentos que se procesan en una transacción.

La utilización de commitcount tiene implicaciones en el rendimiento. Para obtener información, consulte la sección Consideraciones sobre el rendimiento.

RECREATE INDEX ON UPDATE
No se permiten las actualizaciones incrementales del índice pero el índice se vuelve a crear cuando se realiza una operación de actualización (con un mandato o una actualización programada). Vea las Notas de uso en UPDATE INDEX para obtener información adicional.
Nota

No se crea ningún activador en la tabla del usuario y no se crea ninguna tabla de anotaciones cronológicas.

INDEX DIRECTORY directorio
Vía de acceso del directorio en el que debe almacenarse el índice de texto. Como el directorio contendrá datos de índice, asegúrese de que el directorio tenga permiso de lectura/grabación y ejecución para el ID de usuario del propietario de la instancia de DB2.

El valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME=INDEXDIRECTORY'. Se crea un subdirectorio, NODE<nr>, en el directorio para distinguir los índices de nodos lógicos de un servidor.

Tenga en cuenta que, en un entorno DB2 distribuido, este directorio tiene que existir en cada nodo físico.

WORK DIRECTORY directorio-trabajo
Opcionalmente, puede especificarse un directorio de trabajo separado, que se utilizará para almacenar archivos temporales durante operaciones de administración y búsqueda en índice. El directorio debe existir y tener permiso de lectura/grabación y ejecución para el ID de usuario del propietario de la instancia de DB2.

El valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='WORKDIRECTORY'. Se crea un subdirectorio, NODE<nr>, en el directorio para distinguir los índices de nodos lógicos de un servidor.

Tenga en cuenta que, en un entorno DB2 distribuido, este directorio tiene que existir en cada nodo físico.

ADMINISTRATION TABLES IN nombre-espaciotabla
Nombre del espacio de tabla regular para las tablas de administración creadas para el índice. El espacio de tabla debe existir. Si no se especifica, se elige el espacio de tabla de la tabla del usuario si el índice se ha creado en una tabla base.

En caso de un apodo o una vista, DB2 elige el espacio de tabla por omisión.

Al crear índices de texto sobre vistas, apodos o índices de texto para la búsqueda de procedimiento almacenado en una entorno DB2 distribuido, el espacio de tabla debe ser de un solo nodo.

CACHE TABLE (lista-expresiones-columna-SQL)
Además del índice, se crea una tabla en la antememoria formada por las expresiones de la columna especificada. Esta antememoria se utiliza para devolver el conjunto de resultados mediante una búsqueda de procedimiento almacenado sin unir resultados de búsqueda de texto completo con una tabla DB2. Tenga en cuenta que siempre es posible realizar una búsqueda normal de DB2 utilizando un índice de texto completo con la función CONTAINS.

Defina las expresiones de columna-SQL utilizando nombres de columna no calificados de la tabla en la que se ha creado el índice. Los tipos de expresiones de columna-SQL permitidos son los tipos diferenciados definidos por el usuario e incorporados. Los nombres de columna del conjunto resultantes se determinan utilizando las reglas siguientes:

Los tipos de datos CLOB no están soportados como tipos de datos de antememoria. Se deben convertir en VARCHARS.

Nota

Tenga en cuenta que si los nombres de columna del conjunto resultante no están separados, el mandato CREATE INDEX devuelve un error. Tenga en cuenta también que la tabla de la antememoria no se activa implícitamente después de su creación. Por ejemplo, no es posible realizar búsquedas por procedimiento almacenado hasta que se realiza DB2TEXT ACTIVATE CACHE.

Esta opción sólo puede utilizarse en un entorno DB2 distribuido si la tabla del usuario está almacenada en un espacio de tabla de un solo nodo.

PERSISTENT IN directorio
Especifica que la antememoria también se crea de forma permanente y que se ha podido activar poco después de una desactivación o un rearranque del sistema. La antememoria permanente se almacena en el directorio especificado.

Tenga en cuenta que si el directorio no se especifica, el valor por omisión se toma de la vista db2ext.dbdefaults, donde DEFAULTNAME='CACHEDIRECTORY'.

TEMPORARY
Especifica que la antememoria no se almacena permanentemente. Si no se especifica PERSISTENT ni TEMPORARY, el valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='USEPERSISTENTCACHE'.

MAXIMUM CACHE SIZE tamaño-antememoria
Especifica el tamaño máximo de la tabla de la antememoria que debe crearse durante DB2TEXT ACTIVATE CACHE. El parámetro tamaño-memoria debe especificarse en megabytes, como un entero positivo. No existe ningún valor por omisión para tamaño-memoria. Si el entero es demasiado pequeño, el mandato ACTIVATE CACHE fallará. El tamaño real de la antememoria se calcula durante el mandato ACTIVATE CACHE.

El límite de tamaño de antememoria máximo en las distintas plataformas es el siguiente:

Para obtener más información, consulte la sección Apéndice B, Utilización de grandes cantidades de memoria.

PCTFREE porcentaje
Especifica el porcentaje de la antememoria que debe mantenerse libre para documentos adicionales. El porcentaje debe ser un valor entero menor que 100 y mayor o igual a 0. Si no se especifica, se toma el valor por omisión de la vista db2ext.dbdefaults, donde DEFAULTNAME='PCTFREE'.

Vea ACTIVATE CACHE para obtener más detalles.

INITIAL SEARCH RESULT ORDER (ordenar-por-lista-SQL)
Especifica el orden utilizado para recuperar el contenido de la tabla del usuario durante la indexación inicial. Cuando se utiliza esta opción y se omite la ordenación dinámica de los resultados de la búsqueda de texto completo, los documentos se devuelven por orden de indexación, tal como están almacenados en la tabla de resultados de la antememoria.

Para obtener más información, vea el Chapter 16, Función de búsqueda del procedimiento almacenado.

Sólo puede trabajar con índices preclasificados sí utiliza la interfaz de búsqueda Procedimiento almacenado.

Nota

El orden del índice no puede garantizarse para los documentos nuevos o modificados después de un actualización incremental. Por ejemplo: INITIAL RESULT ORDER(length(column1) asc, column2+column3 desc)

KEY COLUMNS FOR INDEX ON VIEW (lista-nombrecolumna-SQL-)
Si se crean índices en las vistas, debe especificarse la cláusula KEY COLUMNS FOR INDEX ON VIEW. De lo contrario, NO DEBE especificarse. La lista de nombres de columna especifica las columnas que identifican EXCLUSIVAMENTE una fila de la vista.

Como DB2 no puede comprobar esta exclusividad, como en el caso de las claves primarias, el usuario es responsable de garantizar la exclusividad equivalente. Las columnas especificadas forman parte de la tabla de anotaciones cronológicas del índice.

INDEX CONFIGURATION (valor-opción), ...
Son los valores de configuración del índice. Los valores por omisión están subrayados.
Opción Valores Descripción
TreatNumbersAsWords 0 ó 1 Interpreta secuencias de dígitos como palabras independientes, aunque sean adyacentes a caracteres. Por ejemplo, el valor por omisión 0 significa que tea42at5 se considera una palabra.
IndexStopWords 0 ó 1 Considera o ignora las palabras de exclusión durante la indexación. Actualmente, la lista de palabras de exclusión es un archivo UCS-2 <idioma>.tsw del directorio <instancia>/sqllib/db2ext/resources. Los cambios realizados en este archivo no tienen efecto después de la creación del índice. Tenga en cuenta también que <idioma> es el valor LANGUAGE del mandato CREATE INDEX.
UpdateDelay segundos Especifica la duración en segundos de la actualización incremental sin tablas de capturas. Sólo se tomarán de la tabla de anotaciones cronológicas las entradas más antiguas que esta duración. Esto es para evitar la pérdida de actualizaciones. Por ejemplo, cambios de documentos que no están reflejados en el índice en escenarios de transacciones donde las transacciones de usuario interfieren con mandatos de actualización. Por lo tanto, el parámetro UpdateDelay debe establecerse en la duración máxima de la transacción de grabación del usuario en la tabla en la que se creó el índice.

CONNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT está establecido y el usuario está ejecutando el mandato en el servidor. Tenga en cuenta que el ID de usuario debe tener las autorizaciones necesarias de DB2.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos. Si no se especifica, se intentará realizar una conexión a partir del ID de usuario actual sin contraseña.

Cambios en la base de datos

Cambios en la memoria compartida
Respecto a ejecución de ACTIVATE: Si se utiliza la cláusula CACHE TABLE, se crea una antememoria para la tabla de resultados en la memoria compartida.

Cambios en el sistema de archivos

Uso

La creación de un índice de texto completo requiere una clave primaria en la tabla del usuario. En DB2 Net Search Extender Versión 8.1, puede utilizarse una clave primaria de DB2 de varias columnas sin límite de tipo. Sin embargo, para utilizar la búsqueda de valores de tablas no están permitidas las claves primarias compuestas.

El número de columnas de clave primaria está limitado a 14, la longitud total de todas las columnas de clave primaria está limitada a 1024 - 14 = 1010 bytes.

Nota

Después de crear el índice, no debe cambiarse la longitud de las columnas de clave primaria ni las columnas de clave de vista con los mandatos ALTER TABLE.

La sincronización entre la tabla del usuario, el índice de texto completo y la tabla de resultados de la antememoria se completa durante el mandato de actualización de índice. Para obtener más información, vea UPDATE INDEX.

DEACTIVATE CACHE

Este mandato libera una tabla de la antememoria. Se guarda una antememoria permanente para su reutilización en el siguiente mandato ACTIVATE. Hasta la siguiente activación, no es posible realizar las operaciones de búsqueda mediante el procedimiento almacenado en la antememoria desactivada.

Autorización

Según las vistas de catálogo de DB2, el ID de usuario de este mandato debe tener el privilegio CONTROL sobre la tabla para la que se haya creado el índice de texto completo.

Sintaxis del mandato

>>-DEACTIVATE-CACHE-FOR-INDEX----------------------------------->
 
>--+--------------------+--nombre-índice--FOR-TEXT-------------->
   '-esquema-índice-"."-'
 
>--+---------------------+-------------------------------------><
   '-|opciones-conexión|-'
 
opciones-conexión:
 
|--+----------------------------------------------------------------------+--|
   '-CONNECT-TO--nombre-basedatos--+------------------------------------+-'
                                   '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

esquema-índice
Esquema del índice de texto tal como se ha especificado en el mandato CREATE INDEX. Si no se ha especificado ningún esquema, se utiliza el ID de usuario de la conexión de DB2 como nombre de esquema.

nombre-índice
Nombre del índice de texto tal como se ha especificado en el mandato CREATE INDEX.

CONNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT está establecido y el usuario está ejecutando el mandato en el servidor. Tenga en cuenta que el ID de usuario debe tener las autorizaciones necesarias de DB2.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos. Si no se especifica, se intentará realizar una conexión a partir del ID de usuario actual sin contraseña.

Uso

Tenga en cuenta que este mandato no se puede emitir cuando se está ejecutando uno de los mandatos siguientes en el índice:

Nota

Después de la desactivación de una antememoria permanente, el procedimiento almacenado no puede acceder a la antememoria para realizar búsquedas. Sin embargo, ésta puede utilizarse para operaciones ACTIVATE rápidas, a menos que se haya realizado una actualización mientras tanto.

En este caso, la antememoria permanente se vuelve a crear automáticamente desde cero utilizando el mandato ACTIVATE CACHE.

DROP INDEX

Este mandato limita un índice de texto completo de una columna de texto. Si la antememoria del índice está activada, se suprime utilizando este mandato.

Autorización

Según las vistas de catálogo de DB2, el ID de usuario de este mandato debe tener el privilegio CONTROL sobre la tabla para la que se haya creado el índice de texto completo. El usuario también puede ser el administrador de la base de datos (DBADM).

De lo contrario, el administrador de la base de datos (DBADM) puede descartar el índice, ya que debe ser capaz de inhabilitar la base de datos utilizando la opción FORCE.

Sintaxis del mandato

>>-DROP-INDEX--+--------------------+--nombre-índice------------>
               '-esquema-índice-"."-'
 
>--FOR-TEXT--+---------------------+---------------------------><
             '-|opciones-conexión|-'
 
opciones-conexión:
 
|--+----------------------------------------------------------------------+--|
   '-CONNECT-TO--nombre-basedatos--+------------------------------------+-'
                                   '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

esquema-índice
Esquema del índice de texto tal como se ha especificado en el mandato CREATE INDEX. Si no se especifica ningún esquema, se utiliza el ID de usuario de la conexión de DB2 como el nombre de esquema.

nombre-índice
Nombre del índice tal como se ha especificado en el mandato CREATE INDEX. Con el esquema de índice, identifica el índice de texto completo de una base de datos de forma exclusiva.

CONNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT está establecido y el usuario está ejecutando el mandato en el servidor. Tenga en cuenta que el ID de usuario debe tener las autorizaciones necesarias de DB2.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos. Si no se especifica, se intentará realizar una conexión a partir del ID de usuario actual sin contraseña.

Uso

El índice se suprime, con independencia del estado de activación de la tabla de la antememoria. Para obtener información adicional, vea ACTIVATE CACHE.

Tenga en cuenta que el mandato no se puede emitir cuando se está ejecutando uno de los mandatos siguientes en el índice:

Nota

Los índices deben descartarse manualmente antes o después de descartar la tabla del usuario en DB2. De lo contrario, los resultados no se limpian correctamente.

Cambios en la base de datos

Cuando utilice las tablas de capturas de duplicación, deberá eliminar las entradas de las tablas IBMSNAP_PRUNE_SET e IBMSNAP_PRUNCTRNL.

Cambios en la memoria compartida
Se suprime la tabla de antememoria.

Cambios en el sistema de archivos

DB2EXTTH (Programa de utilidad)

Este programa de utilidad independiente compila un archivo de definición de diccionario tesauro. Después de ejecutar el compilador del diccionario tesauro, es posible utilizar las funciones relacionadas con el DICCIONARIO de la sintaxis de los argumentos de búsqueda.

Autorización

Ninguna. Este mandato no está necesariamente limitado al propietario de la tabla, pero sólo tiene sentido en el contexto de las consultas.

Sintaxis del mandato

>>-db2extth----------------------------------------------------->
 
>--+-+-------+-- -ccsid--página de códigos-- -f--nombre-archivo-definición-+-><
   | '-quiet-'                                                             |
   +- -h-------------------------------------------------------------------+
   +- -H-------------------------------------------------------------------+
   +- -?-------------------------------------------------------------------+
   '- -copyright-----------------------------------------------------------'
 
 

Parámetros del mandato

-f nombre-archivo-definición
Nombre del archivo que contiene la definición del diccionario tesauro. El nombre del archivo debe contener la vía de acceso absoluta o relativa al archivo. El nombre de archivo está limitado a 8+3 caracteres y la extensión es opcional.

El diccionario tesauro se genera en el mismo directorio que el archivo de definición y tiene el mismo nombre. La única diferencia es que el diccionario tiene las extensiones siguientes: wdf, wdv, grf, grv, MEY, ROS, NEY, SOS e Ikn, donde n es un dígito. Tenga en cuenta que si existen archivos de diccionario tesauro con el mismo nombre, se sobregraban.

-ccsid página de códigos
Página de códigos en la que se escribe el archivo de definición del diccionario tesauro. Consulte el Apéndice L, CCSID soportados de diccionario tesauro para obtener una lista de páginas de códigos soportadas para un diccionario tesauro.

-quiet
Información de salida no visualizada.

-copyright
Devuelve el número interno de creación del producto. Utilice este número al comunicar algún problema.

-h, -H o -?
Visualiza información de ayuda.

Uso

Utilice este mandato para compilar un archivo de definición de diccionario tesauro en un formato de definición de diccionario tesauro binario.

Nota

El formato es el mismo que en DB2 Text Information Extender Versión 7.2, con las diferencias siguientes:

  • Las nuevas relaciones BROADER y NARROWER son equivalentes a las relaciones HIGHER_THAN y LOWER_THAN utilizadas anteriormente en Text Information Extender. Para hacer referencia a estas relaciones de búsqueda anteriores, deben utilizarse las nuevas relaciones.
  • Tenga en cuenta también que los archivos de diccionario tesauro debe almacenarse en <depende-so>/sqllib/db2ext/thes para que puedan utilizarse durante las búsquedas, a menos que el diccionario tesauro se califique totalmente en la consulta.

Para obtener información adicional, vea el Chapter 10, Utilización de un diccionario tesauro para ampliar los términos de búsqueda.

UPDATE INDEX

Este mandato inicia inmediatamente el proceso de indexación, poniendo al día el índice para que refleje el contenido actual de las columnas de texto a las que está asociado el índice.

Mientras se realiza la actualización, es posible realizar búsquedas utilizando el predicado CONTAINS. En un índice con una tabla de resultados de la antememoria activada, también es posible realizar búsquedas mediante procedimiento almacenado durante la actualización. Sin embargo, las columnas de la tabla de antememoria pueden mostrar nuevos valores aunque no se haya confirmado todavía el texto cambiado para el índice de texto.

Si se utiliza la opción RECREATE INDEX ON UPDATE en el mandato CREATE INDEX, el índice se borrará antes de volver a crearlo. Hasta que finalice la actualización, se devolverán resultados vacíos.

Autorización

Según las vistas de catálogo de DB2, el ID de usuario de este mandato debe tener el privilegio CONTROL sobre la tabla para la que se haya creado el índice de texto completo.

Sintaxis del mandato

>>-UPDATE-INDEX--+--------------------+--nombre-índice---------->
                 '-esquema-índice-"."-'
 
>--FOR-TEXT--+------------+--+---------------------------+------>
             '-REORGANIZE-'  '-COMMITCOUNT--número total-'
 
>--+----------------------+--+---------------------+-----------><
   '-USING-UPDATE-MINIMUM-'  '-|opciones-conexión|-'
 
opciones-conexión:
 
|--+----------------------------------------------------------------------+--|
   '-CONNECT-TO--nombre-basedatos--+------------------------------------+-'
                                   '-USER--idusuario--USING--contraseña-'
 
 

Parámetros del mandato

esquema-índice
Esquema del índice de texto. Esto se especifica en el mandato CREATE INDEX. Si no se ha especificado ningún esquema, se utilizará el ID de usuario de la conexión de DB2.

nombre-índice
Nombre del índice de texto. Esto se especifica en el mandato CREATE INDEX.

REORGANIZE
Si una columna de texto se actualiza frecuentemente, las actualizaciones posteriores del índice pueden ser ineficaces. Para que el proceso de actualización vuelva a ser eficaz, debe reorganizarse el índice. Utilice la vista DB2EXT.TEXTINDEXES para determinar si se debe reorganizar un índice.

Utilice la opción REORGANIZE AUTOMATIC del mandato CREATE INDEX para evitar el tener que comprobar y reorganizar manualmente el índice.

Nota

El proceso de reorganización tiene lugar después de una actualización regular.

USING UPDATE MINIMUM
Utiliza los valores UPDATE MINIMUM del mandato CREATE INDEX e inicia una actualización incremental sólo si se ha alcanzado el número de cambios especificado. El valor por omisión es iniciar la actualización incondicionalmente.

Para las bases de datos distribuidas, UPDATE MINIMUM se comprueba en cada nodo.

Vea CREATE INDEX para obtener información adicional.

COMMITCOUNT número total
Un valor INTEGER >=0 visualiza el número de documentos que procesan el motor de búsquedas y DB2 en una transacción para las actualizaciones de índice incrementales.

Sin embargo, para actualizaciones iniciales como, por ejemplo, la primera actualización después del mandato CREATE INDEX o cualquier actualización con la opción RECREATE INDEX ON UPDATE, sólo hay una transacción lógica que ignora COMMITCOUNT. Esto puede cambiarse utilizando el mandato ALTER INDEX.

CONNECT TO nombre-basedatos
Nombre de la base de datos que es el destino de este mandato. Puede omitir este parámetro si DB2DBDFT está establecido y el usuario está ejecutando el mandato en el servidor. Tenga en cuenta que el ID de usuario debe tener las autorizaciones necesarias de DB2.

USER id-usuario USING contraseña
Utilice una contraseña y un ID de usuario para conectarse a la base de datos. Si no se especifica, se intentará realizar una conexión a partir del ID de usuario actual sin contraseña.

Uso

Este mandato se ejecuta sincrónicamente. Empieza el proceso de actualización en todos los nodos lógicos/físicos de DB2 necesarios en un entorno DB2 distribuido. La duración depende del número de archivos que se deban indexar y del número de documentos ya indexados. El estado de la actualización puede verse mediante una vista que se crea para cada índice. El nombre de esta vista se puede recuperar de DB2EXT.TEXTINDEXES en la columna EVENTVIEWNAME. Para obtener más información, vea el Apéndice C, Catálogos de información de Net Search Extender.

Hay dos opciones para ver el número de documentos confirmados que se han procesado. Para determinar si una actualización todavía se ejecuta y cuántos documentos se han confirmado en el índice, utilice la vista DB2EXT.TEXTINDEXES (NUMBER_DOCS). Utilice la vista de sucesos asociada al índice para obtener información sobre el inicio, la confirmación de los cambios y la finalización del proceso de actualización.

Para ver el número de documentos no confirmados que se deben procesar, utilice el mandato CONTROL LIST ALL LOCKS FOR INDEX.

Nota

Las vistas sólo muestran información del nodo conectado.

Para las actualizaciones incrementales en una tabla base con nodos físicos, la hora de cada nodo debe estar sincronizada. Si las horas no están sincronizadas, es posible que se pierdan las actualizaciones o que no se produzcan.

El mandato no se podrá emitir si se está ejecutando uno de los mandatos siguientes sobre el índice:

Después de actualizar un índice con una tabla de resultados de antememoria permanente desactivada, se suprime la antememoria permanente para que el próximo mandato ACTIVATE CACHE vuelva a crearla basándose en el contenido de la base de datos.

Si el usuario interrumpe este mandato, todos los procesos implicados en la función de actualización se detendrán. Si se ha utilizado un número-total-confirmación en una actualización incremental, puede que algunas actualizaciones sean visibles en el índice mientras que otras necesiten un nuevo mandato de actualización.

Para detener la actualización automática de un índice, busque el proceso del propietario de la instancia de DB2 que ejecute el mandato de actualización del índice en la partición utilizado para los servicios de actualización. Detenga este proceso y se detendrá el proceso de actualización en todas las particiones.

Nota

Como el mandato funciona en dos fases distintas para la creación del índice en todas las particiones y actualizaciones de índice iniciales, emita un mandato db2text drop index para asegurarse de que el índice no esté disponible parcialmente. Si no se emite este mandato, la siguiente actualización, que puede activarse mediante un mandato de actualización o la opción de frecuencia de actualización, realizará una reindexación completa para garantizar un estado coherente.

Cambios en la base de datos

Cuando utilice las tablas de capturas de duplicación, se efectuarán los siguientes cambios en la base de datos.

HELP

Visualiza la lista de mandatos DB2TEXT disponibles o la sintaxis de un mandato DB2TEXT individual.

Autorización

No se necesita ninguna.

Sintaxis del mandato

>>-+----------------------------+------------------------------><
   '-+-?----+--+--------------+-'
     '-HELP-'  +-mandato------+
               '-código-razón-'
 
 

Parámetros del mandato

HELP o ?
Proporciona ayuda para el mandato o código de razón especificado.

mandato
Las primeras palabras clave que identifican un mandato DB2TEXT:

código-razón
Código de razón de un mandato de DB2 Net Search Extender.

Uso

Si se especifica más que la primera palabra clave, el resto se pasará por alto y se mostrará la sintaxis del mandato identificado.

Si no se especifica ningún parámetro 'mandato' después de '?' o 'HELP' (o ningún parámetro), DB2TEXT lista todos los parámetros de los mandatos de DB2TEXT.

COPYRIGHT

Proporciona la información de copyright y del producto Net Search Extender

Autorización

No se necesita ninguna.

Sintaxis del mandato

>>-+-COPYRIGHT-+-----------------------------------------------><
   '-LEVEL-----'
 
 

Parámetros del mandato

COPYRIGHT / LEVEL
Proporciona la sentencia del copyright, el número de versión y la información de creación del producto.

Chapter 14. Sintaxis de los argumentos de búsqueda

Un argumento de búsqueda es la condición que especifica al buscar términos en documentos de texto. Consta de parámetros de búsqueda y uno o más términos de búsqueda.

En Especificación de los argumentos de búsqueda de SQL y en un archivo denominado search, se proporcionan ejemplos de argumentos de búsqueda. Consulte los Ejemplos adicionales de sintaxis de búsqueda.

Las funciones de búsqueda escalar SQL que utilizan argumentos de búsqueda son:

CONTAINS
Esta función utiliza un argumento de búsqueda para buscar un texto en un documento de texto concreto. Devuelve el valor INTEGER 1 si el documento contiene el texto o alguna relación especificada en el argumento de búsqueda. De lo contrario, devuelve 0.

NUMBEROFMATCHES
Esta función utiliza un argumento de búsqueda para buscar en documentos de texto y devuelve un valor INTEGER que indica cuántas coincidencias se han producido por documento.

SCORE
Esta función utiliza un argumento de búsqueda para buscar en documentos de texto. Devuelve un valor para cada documento hallado que indica la exactitud con que el argumento de búsqueda describe el documento hallado.
Nota

Debe utilizar la misma sintaxis en los argumentos de búsqueda en la búsqueda de procedimiento almacenado y la función de valor de tabla SQL.

Argumento de búsqueda

Sintaxis de los argumentos de búsqueda

>>-+----------------------+--+-------------------------+-------->
   '-RESULT LIMIT--número-'  '-EXPANSION LIMIT--número-'
 
>--+------------------------------------------+----------------->
   '-STOP SEARCH AFTER--número--+-DOCUMENT--+-'
                                '-DOCUMENTS-'
 
>--+-| expresión-búsqueda-booleana |-+-------------------------><
   '-| argumento-textolibre |--------'
 
Expresión-búsqueda-booleana:
 
|--+-| término-búsqueda |---------------------------------------------------+--|
   '-| expresión-búsqueda-booleana |--| operador-or |--| término-búsqueda |-'
 
Término-búsqueda:
 
|--+-| factor-búsqueda |----------------------------------------------------+--|
   +-| término-búsqueda |--| operador-and |--| factor-búsqueda |------------+
   +-| término-búsqueda |--| operador-accum |--| factor-búsqueda |----------+
   '-| término-búsqueda |--| operador-minus |--| factor-búsqueda-positivo |-'
 
Factor-búsqueda:
 
|--+-----+--| factor-búsqueda-positivo |------------------------|
   '-NOT-'
 
Factor-búsqueda-positivo:
 
|--+-+--------------------------------------------------------------+--| principal-búsqueda |-+--|
   | |                  .-,------------------------------------.    |                         |
   | |                  V                                      |    |                         |
   | '-+-SECTION--+--(----"nombre-sección"--+----------------+-+--)-'                         |
   |   '-SECTIONS-'                         '-WEIGHT--número-'                                |
   '-factor-atributo--------------------------------------------------------------------------'
 
Principal-búsqueda:
 
|--+-| literal-texto |---------------------+--------------------|
   +-| condición-contexto |----------------+
   +-| invocación-diccionario-tesauro |----+
   +-(--| expresión-búsqueda-booleana |--)-+
   '-(--| lista-literales-texto |--)-------'
 
Operador-and:
 
|--&------------------------------------------------------------|
 
Operador-or:
 
|--|------------------------------------------------------------|
 
Operador-accum:
 
|--ACCUM--------------------------------------------------------|
 
Operador-minus:
 
|--MINUS--------------------------------------------------------|
 
Condición-contexto:
 
|----| argumento-contexto |--| IN-SAME |--| unidad-contexto |--| AS |--| argumento-contexto |---->
 
>--+---------------------------------+--------------------------|
   | .-----------------------------. |
   | V                             | |
   '---AND--| Argumento-contexto |-+-'
 
Argumento-contexto:
 
|--+-| literal-texto |------------------+-----------------------|
   +-(--| lista-literales-texto |--)----+
   '-| invocación-diccionario-tesauro |-'
 
Lista-literales-texto:
 
   .-,-------------.
   V               |
|----literal-texto-+--------------------------------------------|
 
Unidad-contexto:
 
|--+-PARAGRAPH-+------------------------------------------------|
   '-SENTENCE--'
 
Literal-texto:
 
|--+---------------------------------------+-------------------->
   +-PRECISE-FORM-OF-----------------------+
   +-STEMMED-FORM-OF-----------------------+
   '-FUZZY-FORM-OF--+--------------------+-'
                    '-nivel-coincidencia-'
 
>--+----------------+--"palabra-o-expresión"-------------------->
   '-WEIGHT--número-'
 
>--+---------------------------+--------------------------------|
   '-ESCAPE--"carácter-escape"-'
 
Invocación-diccionario-tesauro:
 
|--THESAURUS--"nombre-diccionario tesauro"--EXPAND-------------->
 
>--+-+-SYNONYM------------+--TERM OF--| literal-texto |--------------------------+--|
   | +-RELATED------------+                                                      |
   | '-RELATION--(número)-'                                                      |
   '-+-BROADER--+--TERM OF--| literal-texto |--+-------------------------------+-'
     '-NARROWER-'                              '-FOR--número total--+-LEVEL--+-'
                                                                    '-LEVELS-'
 
Factor-atributo:
 
|--ATTRIBUTE--"nombre-atributo"--------------------------------->
 
>--+-BETWEEN--valorDesde AND valorHasta-+-----------------------|
   +->--valorDESDE----------------------+
   '-<--valorHASTA----------------------'
 
Argumento-textolibre:
 
|--IS-ABOUT--+--------+--"palabra-o-expresión"------------------>
             '-idioma-'
 
>--+---------------------------+--------------------------------|
   '-ESCAPE--"carácter-escape"-'
 
 

Ejemplos

En Especificación de los argumentos de búsqueda de SQL se proporcionan ejemplos.

Parámetros de búsqueda

RESULT LIMIT número
Palabra clave que especifica el número máximo de resultados que la búsqueda de texto completo debe devolver.

RESULT LIMIT se debería utilizar conjuntamente con la función SCORE para garantizar que los resultados devueltos se valoren y que sólo se procesen los mejores resultados.

número EXPANSION LIMIT
Palabra clave que especifica el número máximo de veces que un término se puede ampliar para la búsqueda. Por ejemplo, para determinar cuántas veces se puede ampliar el término de búsqueda 'a*'.

STOP SEARCH AFTER número DOCUMENTS(S)
Palabra clave que especifica el umbral de búsqueda. La búsqueda se detiene cuando se llega al número de documentos durante la búsqueda y se devuelve un resultado intermedio. Un valor inferior aumentará el rendimiento de la búsqueda pero puede dar lugar a un número inferior de resultados y puede que se omitan documentos con un rango potencialmente alto.

Tenga en cuenta que no hay ningún valor por omisión y que el valor número debe ser un entero positivo.

expresión-búsqueda-booleana
Es posible combinar los términos-de-búsqueda y los factores-de-búsqueda utilizando los operadores booleanos NOT, AND, OR, ACCUM y MINUS según los diagramas de sintaxis. Los operadores tienen el siguiente orden de prioridad (empezando por el mayor): NOT > MINUS = ACCUM = AND > OR. Esto puede observarse en el ejemplo siguiente:
"Piloto" MINUS "pasajero" &  "vehículo" | "transporte" & "público"

se evalúa como:

(("Piloto" MINUS "pasajero") & ("vehículo")) |
      ("transporte" & "público")

El operador ACCUM evalúa como cierto si uno de los argumentos booleanos evalúa como cierto (que es comparable a cómo actúa el operador OR). El valor de rango se calcula acumulando los valores de los dos operandos. El operador ACCUM tiene el mismo enlace (prioridad) que AND. El operador MINUS evalúa como cierto si el operando de la izquierda evalúa como cierto. El valor de rango se calcula tomando el valor de rango del operando de la izquierda y restándole una penalización, si el operando de la derecha evalúa como cierto.

principal-búsqueda
Una búsqueda principal que consiste en una invocación-diccionario-tesauro evalúa como cierto si se encuentra alguno de los literales-texto ampliados en la (sección especificada del documento). Una principal-búsqueda, que consiste en una lista-literales-texto evalúa como cierta si se encuentra alguno de los literales-texto en la (sección especificada del documento).

SECTION(S) nombre-sección

Palabra clave que especifica una o varias secciones de un documento estructurado a las que debe limitarse la búsqueda. El nombre de sección debe especificarse en un archivo de modelos especificado durante la creación del índice. Vea CREATE INDEX.

Los nombres de secciones son sensibles a las mayúsculas y minúsculas. Asegúrese de que los nombres de sección del archivo de modelos y de la consulta sean idénticos.

Este modelo describe la estructura de los documentos que contienen secciones identificables por lo que es posible realizar búsquedas individuales en el contenido de estas secciones. El nombre de las secciones no puede enmascararse con caracteres de máscara. El factor-búsqueda-positivo que utiliza la cláusula SECTION evalúa como cierto si se encuentra el principal de búsqueda en una de las secciones.

argumento-contexto IN SAME unidad-contexto AS argumento-contexto AND argumento-contexto...
Esta condición le permite buscar una combinación de literales-texto que aparecen en el mismo párrafo o en la misma frase. Los argumentos de contexto siempre son equivalentes a las listas-literales-texto y es posible utilizar una ampliación del diccionario tesauro para ampliar un literal-texto a dicha lista.

La condición evalúa como cierto si hay una unidad-contexto (párrafo respectivamente a frase) en el documento que contenga por lo menos uno de los literales-texto del argumento-contexto ampliado. Esto puede observarse en el ejemplo siguiente:

("a","b") IN SAME PARAGRAPH AS ("c","d")
          AND THESAURUS "t1" EXPAND SYNONYM TERM OF "e".

Suponiendo que e1 y e2 son sinónimos de e, los párrafos siguientes coincidirían:

".. a c e .." ,  ".. a c e1..",  "a c e2..",
".. a d e .." ,  ".. a d e1..",  "a d e2..",
".. b c e .." ,  ".. b c e1..",  "b c e2..",
".. b d e .." ,  ".. b d e1..",  "b d e2..".

PRECISE FORM OF
Palabra clave que hace que la palabra (o cada palabra de la expresión) que sigue a PRECISE FORM OF se busque exactamente como se ha escrito. Esta forma de búsqueda es sensible a mayúsculas y minúsculas; es decir, la utilización de letras mayúsculas o minúsculas es significativa. Por ejemplo, si busca ratón, no hallará "Ratón".

STEMMED FORM OF
Palabra clave que hace que la palabra (o cada palabra de la expresión) que sigue a STEMMED FORM OF se reduzca a la raíz de la palabra antes de que se lleve a cabo la búsqueda. Esta forma de búsqueda no es sensible a las mayúsculas y minúsculas. Por ejemplo, si busca ratón, hallará "Ratón".

La forma en que las palabras se reducen a su forma raíz depende del idioma. Actualmente sólo se da soporte al inglés y la palabra debe seguir las terminaciones de inflexión regulares.

FUZZY FORM OF
Palabra clave para realizar una búsqueda "inexacta", que es una búsqueda de términos que se escriben de forma similar al término de búsqueda. Esto es particularmente útil cuando se realizan búsquedas en documentos que se han creado mediante un programa de Reconocimiento óptico de caracteres (OCR). Dichos documentos incluyen normalmente palabras escritas incorrectamente. Por ejemplo, la palabra economía podría ser reconocida por un programa OCR como econonía. Tenga en cuenta que los tres primeros caracteres deben coincidir y que la búsqueda inexacta no puede utilizarse si una palabra del átomo de búsqueda contiene un carácter de máscara.

nivel de coincidencia
Entero entre 1 y 100 que especifica el grado de similitud, donde 100 es más similar que 1. 100 especifica una "coincidencia exacta" y 60 ya se considera un "valor muy inexacto". Cuando más inexacto sea el nivel de coincidencia, el tiempo necesario para la búsqueda será mayor, ya que los documentos válidos en la búsqueda son más numerosos. El nivel de coincidencia por omisión es 70.

WEIGHT número
Asocia un literal-texto con un valor de peso para cambiar el resultado por omisión. Los valores de peso permitidos son enteros entre 0 (el peso de resultado más bajo) y 1000 (el más alto); el valor por omisión es 100.

palabra-o-expresión
Palabra o expresión que se debe buscar. Los caracteres que se pueden utilizar en una palabra dependen del idioma. También depende del idioma la necesidad de separar las palabras con caracteres separadores. En inglés y en la mayoría de los demás idiomas, cada palabra de una expresión debe ir separada por un carácter en blanco.

Para buscar una serie de caracteres que contenga comillas, escriba las comillas dos veces. Por ejemplo, para buscar el texto carácter "comodín", utilice:

"carácter" "comodín""" 

Tenga en cuenta que, en el ejemplo, sólo se puede buscar un conjunto de comillas. No se pueden buscar dos comillas en una secuencia. También hay una longitud máxima de 128 bytes para cada palabra o frase.

Caracteres de máscara
Una palabra puede contener los siguientes caracteres de máscara.

_ (subrayado)
Representa cualquier carácter individual.

% (porcentaje)
Representa cualquier número de caracteres arbitrarios. Si una palabra consta de un solo signo %, representa una palabra opcional de cualquier longitud. Una palabra no puede estar compuesta exclusivamente de caracteres de máscara, excepto cuando se utiliza un solo signo % para representar una palabra opcional. Si se utiliza un carácter de máscara, no es posible utilizar el DICCIONARIO. Los caracteres de máscara no pueden seguir a un carácter no alfanumérico.

ESCAPE carácter de escape
Un carácter que identifica al carácter que sigue como uno que debe buscarse y no como uno que debe utilizarse como carácter de máscara. Por ejemplo, si $ es un carácter de escape, $%, $_ y $$ representan %, _ y $ respectivamente. Cualquier carácter % y _ no precedido por $ representa un carácter de máscara.

Durante la búsqueda, sólo está permitido utilizar caracteres de un solo byte. Los caracteres de doble byte no están permitidos.

THESAURUS nombre-diccionario tesauro
Palabra clave que se utiliza para especificar el nombre del diccionario tesauro que debe utilizarse para expandir el literal-texto. El nombre del diccionario tesauro es el nombre de archivo (sin la extensión) de un diccionario tesauro que se haya compilado utilizando el compilador de diccionarios tesauros. Debe encontrase en <dependiente-sist-oper>/sqllib/db2ext/thes.También puede especificarse la vía de acceso antes del nombre de archivo.

EXPAND relación
Especifica la relación que se utiliza para expandir el literal-texto que utiliza el diccionario tesauro. El diccionario tesauro tiene relaciones predefinidas que se describen en el mandato DB2EXTTH. Para hacer referencia a las mismas, se utilizan las palabras clave siguientes:

Con las relaciones definidas por el usuario, utilice RELATION(número), que se corresponde con la definición de la relación de DB2TEXTTH.

TERM OF literal-texto

El literal-texto al que deben añadirse del diccionario tesauro otros términos de búsqueda.

número LEVELS

Palabra clave utilizada para especificar el número de niveles (la profundidad) de los términos del diccionario tesauro que se utilizarán para expandir el término de búsqueda para una relación determinada. Si no especifica esta palabra clave, presupone un número total de 1. El valor de la profundidad debe ser un valor entero positivo.

ATTRIBUTE nombre-atributo
Búsquedas de documentos con atributos que coinciden con la condición especificada. El nombre-atributo hace referencia al nombre de una expresión de atributo del mandato CREATE INDEX o a una definición de atributo del archivo de modelos de documentos.

Sólo se permite el factor-atributo para atributos de tipo doble. La precisión del valor está garantizada por 15 dígitos. Los números de 16 caracteres o más se redondean. No se permite la utilización de caracteres de máscara en nombre-atributo, el valorDesde ni el valorHasta. Para obtener una explicación, considere lo siguiente:

BETWEEN valorDesde AND valorHasta
Un factor de atributo BETWEEN evalúa como cierto si el valor del atributo es mayor que (no igual a) valorDesde y menor que (no igual a) valorHasta.

>valorDesde
Un factor de atributo ">" evalúa como cierto si el valor del atributo es mayor que (no igual a) valorDesde.

<valorHasta
Un factor de atributo "<" evalúa como cierto si el valor del atributo es menor que (no igual a) valorHasta.

Si el nombre de atributo del mandato CREATE INDEX se especifica entrecomillado o se define en un archivo de modelos, el nombre de atributo especificado debe coincidir exactamente. Mientras que si no se especifican las comillas en el mandato CREATE INDEX, el nombre de atributo debe estar en mayúsculas.

IS ABOUT idioma palabra-o-expresión
Opción que permite especificar un argumento de búsqueda de texto libre. Debería utilizarse para obtener un tipo de algoritmo de resultado distinto, ya que comprueba la posición de los términos en los documentos. Cuanto más juntos estén los términos utilizados en la palabra-o-expresión, se incluirán más términos en el documento y se devolverá un valor de resultado más alto.

Los valores permitidos para idioma se describen en el Apéndice E, Idiomas soportados y sólo resultan relevantes para el tailandés. Si no se especifica ninguno, se utiliza el idioma en_US por omisión. El idioma sólo se utiliza para los símbolos de la palabra-o-expresión.

Tenga en cuenta que IS ABOUT sólo resulta útil si se solicitan los valores del resultado y los resultados de la búsqueda se ordenan por valores de resultado.


Chapter 15. Función de búsqueda escalar SQL y función de valor de tabla SQL

DB2 Net Search Extender proporciona las funciones de búsqueda escalar SQL y la función de valor de tabla para buscar documentos de texto almacenados en DB2 Universal Database.

En este capítulo se describen las siguientes funciones de búsqueda SQL.


Resumen de las funciones de búsqueda

Consulte el Chapter 8, Búsquedas para ver ejemplos de utilización de las funciones de búsqueda escalar SQL y la función de valor de tabla SQL.

CONTAINS

La función escalar CONTAINS busca texto en un documento de texto indexado por Net Search Extender. Devuelve el valor INTEGER 1 si el documento contiene el texto o alguna relación especificada en el argumento de búsqueda. De lo contrario, devuelve 0.

Sintaxis de la función

>>-CONTAINS--(--nombre-columna--,--argumento-búsqueda--)-------><
 
 

Parámetros de la función

nombre-columna
Nombre de una columna. La columna debe tener un índice de texto asociado. Los índices de texto pueden crearse utilizando el mandato de administración DB2TEXT CREATE INDEX.

argumento-búsqueda
Serie de tipo VARCHAR que contiene los términos que deben buscarse. Consulte el Chapter 14, Sintaxis de los argumentos de búsqueda.
Nota

No es posible utilizar la consulta CONTAINS en un índice de texto creado sobre una vista.

NUMBEROFMATCHES

La función escalar NUMBEROFMATCHES realiza búsquedas en documentos de texto y devuelve un valor INTEGER que indica cuántas coincidencias se han producido por documento.

Sintaxis de la función

>>-NUMBEROFMATCHES---------------------------------------------->
 
>--(--nombre-columna--,--argumento-búsqueda--)-----------------><
 
 

Parámetros de la función

nombre-columna
Nombre de una columna. La columna debe tener un índice de texto asociado. Los índices de texto pueden crearse utilizando el mandato de administración DB2TEXT CREATE INDEX.

argumento-búsqueda
Serie de tipo VARCHAR que contiene los términos que deben buscarse. Consulte el Chapter 14, Sintaxis de los argumentos de búsqueda.
Nota

No es posible utilizar la consulta NUMBEROFMATCHES en un índice de texto creado sobre una vista.

SCORE

La función escalar SCORE realiza búsquedas en documentos de texto y devuelve un valor del resultado para cada documento hallado, que indica la exactitud con que el argumento de búsqueda describe el documento hallado.

SCORE devuelve un valor DOUBLE. Cuánto más aparezca el término de búsqueda en el documento, más alto será el valor del resultado del documento.

Sintaxis de la función

>>-SCORE--(--nombre-columna--,--argumento-búsqueda--)----------><
 
 

Parámetros de la función

nombre-columna
Nombre de una columna. La columna debe tener un índice de texto asociado. Los índices de texto pueden crearse utilizando el mandato de administración DB2TEXT CREATE INDEX.

argumento-búsqueda
Serie de tipo VARCHAR que contiene los términos que deben buscarse. Consulte el Chapter 14, Sintaxis de los argumentos de búsqueda.
Nota

No es posible utilizar la consulta SCORE en un índice de texto creado sobre una vista.

DB2EXT.TEXTSEARCH

Además de la búsqueda de procedimiento almacenado y las funciones de búsqueda escalar SQL, Net Search Extender proporciona dos funciones de valor de tabla SQL muy similares al procedimiento almacenado.

Las dos funciones de valor de tabla se denominan db2ext.textsearch. La única diferencia entre ellas es que una soporta la función HIGHLIGHT y tiene dos parámetros adicionales, numberOfHits y hitInformation.

Tenga en cuenta que no puede utilizar la función de valor de tabla en tablas con una clave primaria compuesta.

Para obtener información sobre el uso de la función HIGHLIGHT, vea DB2EXT.HIGHLIGHT.

Nota

La función de valor de tabla sólo puede utilizarse en un entorno DB2 distribuido si la tabla del usuario está almacenada en un espacio de tabla de un solo nodo. También debe asegurarse de que se conecta al nodo adecuado utilizando la variable de entorno DB2NODE.

Sintaxis de la función

1. db2ext.textsearch without highlight support
 
 
db2ext.textSearch
       (
       query	   	        VARCHAR(4096),
       indexSchema   	   VARCHAR(128),
       indexName        	VARCHAR(128),
       resultFirstRow   	INTEGER,
       resultNumberRows 	INTEGER,
       primKeyBinding   	<tipos soportados>,// mismo tipo que clave primaria
       )
 
       return table
       (
       primKey           <tipos soportados>,// mismo tipo que clave primaria
       numberOfMatches   INTEGER,
score  DOUBLE,
totalNbResults  INTEGER
       )
 
 
2. db2ext.textsearch with highlight support
 
 
db2ext.textSearch
       (
       query	   	        VARCHAR(4096),
       indexSchema       VARCHAR(128),
       indexName        	VARCHAR(128),
       resultFirstRow   	INTEGER,
       resultNumberRows 	INTEGER,
       primKeyBinding   	<tipos soportados>,// mismo tipo que clave primaria
       numberOfHits      INTEGER
       )
 
       return table
       (
       primKey           <tipos soportados>,// mismo tipo que clave primaria
       numberOfMatches   INTEGER,
score  DOUBLE,
totalNbResults  INTEGER
      hitInformation    BLOB (20 K)
      )
 
 

Parámetros de la función

Los siguientes son parámetros de entrada.

query
Consulte el Chapter 14, Sintaxis de los argumentos de búsqueda para obtener información adicional.

indexSchema, indexName
Identifica el índice donde debe buscarse. Para obtener más información, vea CREATE INDEX.

resultFirstRow
La lista de resultados de la consulta se devuelve por partes. Este parámetro describe qué fila de la lista de resultados de la consulta es la primera que aparece en la tabla de resultados de la función de valor de tabla. El valor debe ser >= 0.

Tenga en cuenta que el número 0 identifica la primera fila de la lista de resultados de la consulta.

resultNumberRows
Este parámetro describe cuántas filas de la lista de resultados de la consulta aparecen en la tabla de resultados de la función de valor de tabla, donde 0 significa que se deben devolver todos los resultados.

Tenga en cuenta que este parámetro es diferente al de consulta de límite de resultados que determina el tamaño máximo de la lista de resultados de la consulta.

primaryKeyBinding
El tipo de este parámetro determina el tipo de parámetro de salida primaryKey. Si el índice de texto se ha creado para una tabla base con una clave primaria de tipo <type1>, primaryKeyBinding también debe ser de tipo <type1>.

Adicionalmente, el parámetro determina el alcance de la búsqueda de texto. Si primaryKeyBinding se ha establecido en NULL ("CAST(NULL as <type1>)", el alcance de la búsqueda será de todos los documentos almacenados en el índice. Como alternativa, puede restringir la búsqueda a documentos a los que se haya vinculado primaryKeyBinding.

Por ejemplo, si primaryKeyBinding se ha establecido en CAST(5 as BIGINT), la búsqueda se restringirá al único documento con el valor de clave primaria BIGINT de "5".

Tenga en cuenta que sólo se da soporte a las claves primarias de columna simple de los tipos siguientes: SMALLINT, INTEGER, BIGINT, REAL, DOUBLE, VARCHAR FOR BIT DATA, DATE, TIME y TIMESTAMP.

numberOfhits
Esta opción especifica la cantidad máxima de información de coincidencias devuelta por la función db2ext.textsearch. Si se especifica 0, se proporcionará la información sobre un máximo de 1100 resultados. Este proceso puede durar mucho tiempo.

Tenga en cuenta que este parámetro sólo es necesario para generar la información de resaltado necesaria para la función db2ext.highlight.

Parámetros de la función

Los valores de retorno siguientes se almacenan en una tabla temporal que debe unirse a la tabla normal si se piden más resultados. Tenga en cuenta que NUMBEROFMATCHES, SCORE, TOTALNUMBEROFRESULTS y HITINFORMATION sólo se calculan si se solicitan en la sentencia select.

primKey
Clave primaria del documento encontrado.

numberofmatches
NUMBEROFMATCHES es un valor INTEGER que indica cuántas coincidencias se han encontrado para cada documento.

score
Score devuelve un valor DOUBLE. Conforme aumenta la frecuencia en el documento del término de la búsqueda, el Score del documento aumenta.

totalNumberOfResults
La lista de resultados de la consulta indica cuántos resultados se han encontrado. Tenga en cuenta que cada fila tiene el mismo valor.

Tenga en cuenta también que cuando utilice STOP SEARCH AFTER o RESULT LIMIT conjuntamente con la sintaxis de SCORE en una consulta, este número ya no resultará fiable.

hitInformation
La información de coincidencias que devuelve db2ext.textsearch resulta necesaria para el proceso de resaltado. Actualmente, este parámetro de salida puede contener información de aproximadamente 1.100 coincidencias. Si el número de coincidencias sobrepasa este umbral, la información de los resultados de más se pasará por alto.

Tenga en cuenta que este valor sólo se devolverá si se especifica numberOfHits.

Uso

Gracias a la función de valor de tabla SQL, puede buscar en vistas de la misma manera como lo hace con la búsqueda de procedimiento almacenado. La única diferencia es que no se necesita memoria compartida, por lo que no es necesario activar el índice.

Esta función sirve principalmente para los usuarios que han utilizado una consulta SQL en la búsqueda de procedimiento almacenado. Sin embargo, tiene la limitación de que solamente se da soporte a una clave primaria de una sola columna en las tablas base.

El ejemplo siguiente muestra cómo trabajar con una tabla de clave primaria de varias columnas:

select s.id from
db2ext.sample s, table (db2ext.textSearch(
        '"characteristics"',
         'DB2EXT',
         'COMMANDS',
         1,
         20,
         cast(NULL as INTEGER))) t
where s.id = t.primkey

En este ejemplo, primero se debe crear una vista sobre esta tabla con una sola clave exclusiva y a continuación se debe crear el índice sobre esta vista.

Para obtener un ejemplo sobre como utilizar la función de valor de tabla SQL con la función db2ext.highlight, consulte la página ***.

DB2EXT.HIGHLIGHT

Utilice la función db2ext.highlight para obtener información sobre por qué un documento se ha calificado como resultado de la búsqueda. Más concretamente, ésta se puede utilizar para:

Tenga en cuenta que la función db2ext.highlight sólo se puede utilizar con la función de valor de tabla db2ext.textsearch. La función de valor de tabla realiza una búsqueda en el índice y proporciona los resultados que la función HIGHLIGHT debe utilizar.

Para obtener información sobre el uso de la función db2ext.textsearch, vea DB2EXT.TEXTSEARCH.

Sintaxis de la función

>>-db2ext.highlight--------------------------------------------->
 
>--(--contenido-documento--,--información-coincidencia--,--información-proceso-coincidencias--)-><
 
 

Parámetros de la función

Los siguientes son parámetros de entrada:

contenido-documento CLOB (100 K)
Sólo reciben soporte los documentos UTF8 en formato TEXT o XML. Para aumentar este valor, consulte la sección DB2EXTHL (programa de utilidad).

información-coincidencia BLOB (20 K)
Serie que contiene información de coincidencias. La devuelva la función db2ext.textsearch, si se ha especificado el parámetro numberOfHits.

información-proceso-coincidencias VARCHAR(1024)
Este parámetro es una lista de pares de valores de opción separados por comas ',' con cada carácter de la serie entre comillas dobles " ". Especifica cómo se debe realizar el resaltado para el documento especificado. Si no se especifica ninguna de las opciones, se devuelve el documento original.

TAGS = ("STRING", "STRING")
Esta opción permite que el usuario especifique los identificadores que se deben insertar antes y después de una coincidencia en el documento. Si esta opción se omite, no se añadirán identificadores antes y después de una coincidencia en el documento.

WINDOW_NUMBER = INTEGER
Esta opción especifica cuántas partes (o ventanas) del documento debe devolver la función de resaltado. Cada ventana contiene una o más coincidencias y la primera coincidencia de cada ventana determina la parte del documento devuelta al usuario. Estas coincidencias pueden tener texto alrededor o no tenerlo.

Si esta opción se omite, se tomará 0 como valor por omisión y se devolverá todo el documento con identificadores iniciales y finales (si se especifican). En este caso, la opción WINDOW_SIZE se pasa por alto.

WINDOW_SIZE = INTEGER
Esta opción especifica el tamaño recomendado de la ventana en bytes. Este tamaño real puede variar, según el número de coincidencias, la longitud de las coincidencias y los tamaños de los identificadores iniciales y finales. Se esta opción se omite, el valor por omisión será 0 y sólo se devolverán coincidencias con el texto circundante.

WINDOW_SEPARATOR = "STRING"
Esta opción especifica el identificador utilizado para separar una ventana de la siguiente ventana. Si la opción se omite, "..." es el valor por omisión.

FORMAT = "STRING"
Esta opción especifica el formato del documento. Los valores válidos son XML o TEXT. Si esta opción se omite, se tomará TEXT como valor por omisión. Asegúrese de que el valor del formato es el mismo que el que se ha especificado durante la indexación.

MODEL_NAME = "STRING"
Esta opción especifica el nombre de modelo relacionado con el documento XML especificado. Tenga en cuenta que, si el valor de FORMAT es TEXT, esta opción tendrá como resultado una condición de error.

SECTIONS = ("nombre-sección1", ..., "nombre-secciónN")
En el caso de los documentos XML, el resaltado se puede restringir a secciones relevantes. Por ejemplo, se pueden definir en el archivo de modelos. Para especificar estas secciones, separe los nombres de las secciones con una coma. Si esta opción se omite, el resaltado se llevará a cabo en todo el documento XML. Tenga en cuenta que, si el valor de FORMAT es TEXT, esta opción se pasará por alto.

Parámetros de la función

Los siguientes son parámetros de retorno.

CLOB (200 K)
La función HIGHLIGHT devuelve un valor CLOB que contiene las partes del documento modificadas por la función HIGHLIGHT.

Uso

El ejemplo siguiente muestra cómo utilizar la función HIGHLIGHT:

select p.id,
       p.title,
       db2ext.highlight(p.content,
       t.hitinformation, 
       'TAGS = ("<bf>", "</bf>"),
       WINDOW_NUMBER = 5,
       WINDOW_SIZE = 200,
       WINDOW_SEPARATOR = "...",
       FORMAT = "XML", 
       SECTIONS = ("nombre-sección1", "nombre-sección2")')
 
FROM patent p, table (db2ext.textsearch(
       '"sistemas de bases de datos relacionales"',
         'DB2EXT',
       'TI_FOR_CONTENT',
       0,
         20,
       CAST(NULL as BIGINT),
       15)) t
 
WHERE p.id = t.primkey

La utilización de documentos de más de 100 KB hará que la consulta SQL termine y produzca un error de SQL (SQL 1476N y el error de SQL -433). Para evitar estos errores, utilice el mandato db2exthl para aumentar el tamaño de contenido del documento. Para obtener información, consulte la sección DB2EXTHL (programa de utilidad).

Nota

Los caracteres especiales como, por ejemplo, los caracteres de "nueva línea", se devuelven tal cual.

Restricciones


Chapter 16. Función de búsqueda del procedimiento almacenado

Net Search Extender proporciona una búsqueda de procedimiento almacenado para devolver tablas de resultados predefinidas. La tabla de resultados se especifica en la sección de la tabla de antememoria durante la creación del índice. Utilice la búsqueda de procedimiento almacenado cuando necesite obtener un número de resultados reducido en un orden específico.

Un ejemplo sería una aplicación de Internet donde se devolvieran las 20 primeras filas, pero el resto de los resultados también pudieran devolverse en incrementos de 20 filas.

Nota

La función de procedimiento almacenado sólo se puede utilizar en un entorno DB2 distribuido si la tabla del usuario está almacenada en un espacio de tabla de un solo nodo.

También debe asegurarse de que se conecta al nodo adecuado utilizando la variable de entorno DB2NODE.

DB2EXT.TEXTSEARCH (para una búsqueda de procedimiento almacenado)

Sintaxis de la función

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 ) 

Parámetros de la función

Los siguientes son parámetros de entrada.

Query
Consulte el Chapter 14, Sintaxis de los argumentos de búsqueda para obtener más información.

indexSchema, indexName
Identifica el índice donde debe buscarse. Vea CREATE INDEX.

resultFirstrow
La lista de resultados de la consulta se devuelve por partes. El parámetro describe qué fila de la lista de resultados de la consulta es la primera que aparece en el conjunto resultante del procedimiento almacenado. La primera fila de la lista de resultados de la consulta se identifica con el número 0.

resultNumberRows
Este parámetro describe cuántas filas de la lista de resultados de la consulta aparecen en el conjunto resultante del procedimiento almacenado.

No se debe confundir con la expresión "límite del resultado" de la consulta, que determina el tamaño máximo de la lista de resultados de la consulta.

El valor debe ser >= 0. Donde 0 significa que deben devolverse todos los resultados.

Nota

Si se pide un conjunto de resultados mayor, asegúrese de que está disponible un espacio de tabla de usuario temporal. Si no hay ninguno disponible, cree un espacio de tabla. En el ejemplo siguiente se crea un espacio de tabla en una plataforma UNIX:

db2 "create user temporary tablespace tempts managed by system 
            using ('/work/tempts.ts')"

scoringFlag
0 significa que no hay resultado y 1 significa que sí que lo hay. Si se solicita un resultado, se devuelve una columna adicional con los valores de resultado con el valor más alto en primer lugar.

searchTermCountsFlag
Controla el proceso de searchTermCounts. Si searchTermCountsFlag es 0, searchTermCounts no se calculará.

Parámetros de la función

Los siguientes son parámetros de salida.

searchTermCounts
Número de ocurrencias de cada consulta de términos de búsqueda del índice. Estos números se devuelven como una lista separada por blancos en el orden de los términos de búsqueda de la consulta.

Vea searchTermCountsFlag para obtener información.

totalNumberOfResults
Número total de resultados hallados en la lista de resultados de la consulta.

Tenga también en cuenta que cuando utilice STOP SEARCH AFTER o RESULT LIMIT conjuntamente con la sintaxis de scoringFlag en una consulta, este número ya no resultará fiable.

Uso

Las columnas del conjunto de resultados devueltas por el procedimiento almacenado las determina la opción CACHE TABLE del mandato DB2TEXT CREATE INDEX. Si scoringFlag=1, se añade una columna de tipo DOUBLE. Esta columna contiene el valor de SCORE.

Utilice las siguientes opciones para aumentar el rendimiento de una segunda consulta con la misma serie que la primera consulta. Tenga en cuenta que debe ser en una ventana de cursor distinta sin que sea necesario totalNumberOfResults:

Para asegurarse de que se conecta al nodo adecuado para realizar búsquedas, es posible que tenga que establecer la variable de entorno DB2NODE.

Para UNIX, utilice el mandato siguiente:

export DB2NODE=<no>

Tenga en cuenta la importancia que tiene que todos los nodos físicos tengan la hora sincronizada.

Para Windows, utilice:

set DB2NODE= <no>
Nota

Un ID de usuario delimitado distinto del ID de propietario de la instancia no funciona en las bases de datos particionadas.


Chapter 17. Soporte de documentos estructurados

Los documentos estructurados consisten en modelos de documento y definiciones de archivo de documentos.


Cómo un modelo de documento describe documentos estructurados

Los documentos en formato HTML o XML son ejemplos de documentos estructurados; contienen identificadores que identifican campos de texto y atributos de documento. Los campos de texto pueden contener información como el título, el autor o una descripción del documentos. Los atributos de documento pueden contener un número.

Los siguiente es un extracto de un documento estructurado de texto plano. Contiene campos y atributos delimitados por identificadores del tipo HTML.

[head]Manejo de documentos estructurados
[/head]
 
[abstract]Este documento describe el concepto de los documentos estructurados
y la utilización de modelos de documento para...
[/abstract]:
:
 

Cuando Net Search Extender indexa documentos estructurados, tiene que reconocer la estructura para poder indexar el campo de texto y los atributos, y almacenarlos juntos con un nombre exclusivo que identifica el campo o el atributo que los contiene. Esto permite que Net Search Extender busque selectivamente en un campo de texto determinado o busque documentos que tienen un atributo en concreto.

Para habilitar Net Search Extender de manera que comprenda la estructura de un formato de documento en particular, debe pasar a Net Search Extender una definición de la estructura en un modelo de documento.

Se especifica el nombre del modelo de documento como un argumento cuando se llama al mandato CREATE INDEX para indexar los documentos.

Antes de poder indexar documentos utilizando un modelo de documento, debe definir en primer lugar un modelo de documento y, a continuación, añadir el modelo de documento al índice.


Ejemplo de un modelo de documento

Debe definir un modelo de documento para cada formato de documento que tenga intención de indexar. Lo siguiente es un modelo de documento simple para documentos estructurados de texto plano. Tenga en cuenta que GPP en el ejemplo significa General Purpose Parser (Analizador de propósito general).

<?xml version="1.0"?>
<GPPModel>                  - aquí empieza el modelo de documento GPP
 
  <GPPFieldDefinition       - aquí empieza una definición de campo
  name="Head"               - el nombre que asigne a este campo
  start="[head]"            - la serie de límite al inicio del campo
  end="[/head]"             - la serie de límite al final del campo
  exclude="YES" />
 
  <GPPFieldDefinition       - aquí empieza la siguiente definición de campo
  name="Abstract"
  start="[abstract]"
  end="[/abstract]" 
  exclude="NO" />
:
:
</GPPModel>

Los modelos de documento se especifican en el lenguaje de XML utilizando identificadores como se define en el Apéndice G, Consulta de modelos de documento. Un modelo de documento consta de definiciones de campo de texto y de definiciones de atributo. Este ejemplo sólo ilustra definiciones de campo de texto en elementos GPPFieldDefinition. De manera parecida, puede utilizar GPPAttributeDefinition para definir atributos de documento.

La primera línea <?xml version="1.0"?> del ejemplo especifica que el modelo de documento está escrito utilizando identificadores XML. Cada una de las definiciones de campo de texto especifica series de límite para identificar el principio y el final de la definición de campo en el documento fuente. Por lo tanto, siempre que un documento contenga la secuencia de caracteres [head] seguida de texto y la secuencia de caracteres [/head], se toma el texto entre esas series de límite como el contenido del campo de texto asignado por el nombre head.

Se asigna un nombre de campo a cada definición de campo. Este nombre de campo es el medio mediante el cual una consulta puede restringir una búsqueda al contenido de un campo de texto. El nombre puede ser fijo o puede ser derivado por una norma a partir del contenido de unidad estructural. Dicho nombre puede ser, por ejemplo, el nombre de identificador para una entidad XML o el nombre de un atributo XML.


Modelos de documento

Un modelo de documento principalmente controla qué partes de la estructura de un documento necesitan indexarse y de qué forma. Su finalidad es:

Cuando el modelo de documento identifica el texto como perteneciente a un campo de texto, el texto se considera parte del contenido textual del documento y los términos se extraen y almacenan en el índice.

Los elementos de un modelo de documento varían dependiendo del analizador utilizado para el formato del documento:

Vea la sección "Definición de un modelo de documento" relevante para obtener información.

Para obtener información sobre la sintaxis del modelo de documento en la forma de una definición de tipo de documento (DTD) y las limitaciones de los campos de texto, consulte el Apéndice G, Consulta de modelos de documento.


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