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. |
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.
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.
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
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.
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.
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.
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
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.
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. |
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
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.
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
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
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:
|
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.
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
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
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. |
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
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.
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
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.
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.
La antememoria permanente creada anteriormente se trasladas a una ubicación nueva. Esta ubicación siempre necesita un índice desactivado.
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.
Si no especifica la palabra clave UPDATE FREQUENCY, los valores de frecuencia se dejan sin modificar.
Tenga en cuenta que sólo podrá cambiar UPDATE MINIMUM si no ha creado el índice utilizando la opción RECREATE ON UPDATE.
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.
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.
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
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:
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
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.
Tenga en cuenta que cuando el nombre de tabla no hace referencia a una tabla base de DB2, se aplican las limitaciones siguientes:
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:
Por lo tanto, no importa el índice que los argumentos CONTAINS, SCORE o NUMBEROFMATCHES elijan.
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.
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'.
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.
El valor por omisión se toma de la vista DB2EXT.DBDEFAULTS, donde DEFAULTNAME='UPDATEFREQUENCY'.
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 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.
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:
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.
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.
Nota |
---|
No se crea ningún activador en la tabla del usuario y no se crea ninguna tabla de anotaciones cronológicas. |
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.
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.
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.
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.
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'.
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.
Vea ACTIVATE CACHE para obtener más detalles.
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) |
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.
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. |
Las entradas de estas tablas se identifican de modo exclusivo mediante las columnas siguientes:
Vea *** para obtener más información sobre las columnas.
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. |
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
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. |
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
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. |
Cuando utilice las tablas de capturas de duplicación, deberá eliminar las entradas de las tablas IBMSNAP_PRUNE_SET e IBMSNAP_PRUNCTRNL.
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
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.
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:
Para obtener información adicional, vea el Chapter 10, Utilización de un diccionario tesauro para ampliar los términos de búsqueda. |
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
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. |
Para las bases de datos distribuidas, UPDATE MINIMUM se comprueba en cada nodo.
Vea CREATE INDEX para obtener información adicional.
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.
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. |
Cuando utilice las tablas de capturas de duplicación, se efectuarán los siguientes cambios en la base de datos.
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
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.
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
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:
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. |
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 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.
Tenga en cuenta que no hay ningún valor por omisión y que el valor número debe ser un entero positivo.
"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.
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.
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..".
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.
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.
Durante la búsqueda, sólo está permitido utilizar caracteres de un solo byte. Los caracteres de doble byte no están permitidos.
Con las relaciones definidas por el usuario, utilice RELATION(número), que se corresponde con la definición de la relación de DB2TEXTTH.
El literal-texto al que deben añadirse del diccionario tesauro otros términos de búsqueda.
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.
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:
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.
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.
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.
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.
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
Nota |
---|
No es posible utilizar la consulta CONTAINS en un índice de texto creado sobre una vista. |
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
Nota |
---|
No es posible utilizar la consulta NUMBEROFMATCHES en un índice de texto creado sobre una vista. |
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
Nota |
---|
No es posible utilizar la consulta SCORE en un índice de texto creado sobre una vista. |
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.
Tenga en cuenta que el número 0 identifica la primera fila de la lista de resultados de la consulta.
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.
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.
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.
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.
Tenga en cuenta que este valor sólo se devolverá si se especifica numberOfHits.
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 ***.
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:
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:
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.
Parámetros de la función
Los siguientes son parámetros de retorno.
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
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. |
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.
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')" |
Parámetros de la función
Los siguientes son parámetros de salida.
Vea searchTermCountsFlag para obtener información.
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. |
Los documentos estructurados consisten en modelos de documento y definiciones de archivo de documentos.
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.
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.
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.