Para comprender totalmente las posibilidades de DB2 Net Search Extender, es necesario conocer los términos clave, que aparecen en negrita en esta sección y las distintas opciones disponibles. También es necesario tener un conocimiento básico de los conceptos y términos de DB2 Universal Database.
Fundamentalmente, DB2 Net Search Extender realiza búsquedas en los documentos de texto contenidos en la columna de una tabla de base de datos.
Los documentos de texto deben poderse identificar de forma exclusiva. Net Search Extender utiliza la clave primaria de la tabla para esta finalidad.
Los documentos pueden estar en diferentes formatos como, por ejemplo, HTML o XML.
En lugar de buscar secuencialmente en los documentos de texto, para lo que tardaría una cantidad considerable de tiempo, Net Search Extender crea un índice de texto para poder buscar en los documentos.
Un índice de texto consiste en términos significativos extraídos de documentos de texto.
Figura 1. Creación de un índice de texto
La creación de un índice de texto es el proceso de definir y declarar las propiedades del índice, como puede ser su ubicación. Tras su creación, el índice de texto no contiene datos. La actualización del índice es el proceso de añadir datos al índice de texto. La primera actualización del índice añade todos los documentos de texto de la columna de texto al índice. Se conoce como la actualización inicial.
Cuando se utiliza un índice de texto para las búsquedas, deben tenerse en cuenta algunos problemas de sincronización entre la tabla y el índice de texto, ya que cualquier cambio posterior en la tabla como, por ejemplo, adiciones, supresiones y actualizaciones de los documentos de texto deben reflejarse en el índice de texto.
La sincronización en Net Search Extender se basa en los activadores que almacenan automáticamente información acerca de los documentos nuevos, cambiados y suprimidos en una tabla de anotaciones cronológicas. Existe una tabla de anotaciones cronológicas para cada índice de texto. La aplicación del contenido de la tabla de anotaciones cronológicas a su índice de texto correspondiente se denomina actualización incremental.
Figura 2. Proceso de actualización incremental
Puede actualizar el índice de texto utilizando la opción manual o automática. La opción automática utiliza una planificación de la actualización para establecer los días y las horas.
Tenga en cuenta que ninguna de estas opciones sincroniza el índice de texto en el ámbito de una transacción que actualiza, suprime e inserta documentos de texto. La indexación de texto asíncrona de Net Search Extender mejora el rendimiento y la simultaneidad. La actualización se aplica en una transacción separada a una copia de una parte muy pequeña del índice. El índice sólo se bloquea para acceso de lectura durante un período de tiempo muy corto cuando la copia se coloca en lugar del original. Es invisible para las operaciones de búsqueda, consulte el Capítulo 5, Servicios de instancia de Net Search Extender para obtener información.
Un índice de texto tiene varias propiedades como, por ejemplo, la ubicación del archivo de índice y la actualización automática. Si es necesario, se pueden cambiar algunas de las propiedades. Esta acción se conoce como modificar el índice.
Una de estas propiedades es la posibilidad de que la frase ORDER BY preclasifique el índice de texto en las columnas de la tabla. En ese caso, la actualización inicial indexará el documento de texto en el orden especificado y devolverá los resultados de la búsqueda por ese orden.
Por ejemplo, especificando extractos de libros preclasificados según el precio del libro. Cuando se busca el libro más económico acerca de los sistemas de bases de datos relacionales, se puede restringir la búsqueda de texto para que únicamente devuelva los dos primeros libros, ya que serán los más baratos. Sin embargo, sin la preclasificación de los índices, se hubieran tenido que buscar todos los libros y unirlos a los libros más baratos, lo que sería una operación más costosa.
Net Search Extender permite varios índices preclasificados por columna de texto. Por ejemplo, un índice para la preclasificación de libros según la fecha de publicación y otro para la preclasificación de libros según el precio.
Normalmente, la primera actualización tras crear un índice de texto es una actualización inicial y las siguientes actualizaciones son incrementales. Sin embargo, cuando se trabaja con índices preclasificados, es aconsejable mantener el orden en caso de actualizaciones. Esto lo resuelve la opción Recreate Index on Update, que vuelve a crear totalmente el índice cada vez que se realiza una actualización.
Tras la actualización del índice de texto, puede realizar una búsqueda utilizando una de las opciones siguientes:
Dado que las opciones de búsqueda tienen diferentes características de funcionamiento, se explican en las secciones siguientes.