Cuando se añade un documento de texto a una base de datos o cuando se cambia un documento existente en una base de datos, debe indexarse el documento para mantener sincronizado el contenido del índice con el contenido de la base de datos. Cuando se suprime un documento de texto de una base de datos, sus términos deben eliminarse del índice.
Los desencadenantes almacenan automáticamente la información acerca de los documentos nuevos, cambiados y suprimidos en una tabla de registro cronológico. Los documentos listados en la tabla de registro cronológico se indexan la siguiente vez que tiene lugar una actualización de índice.
El mandato UPDATE INDEX le permite actualizar un índice inmediatamente, a demanda.
Sin embargo, normalmente se actualiza un índice automáticamente a intervalos especificados en la variable de entorno DB2TXUPDATEFREQ. La variable de entorno determina los valores por omisión. Los valores por omisión pueden alterarse temporalmente cuando se crea un índice utilizando los mandatos ENABLE TEXT COLUMN o ENABLE TEXT TABLE. Se puede cambiar la frecuencia de actualización para un índice existente utilizando el mandato CHANGE.
La frecuencia de actualización del índice se especifica mediante el momento en que se ha de realizar una actualización y el número mínimo de documentos de texto que deben estar en cola. Si no hay suficientes documentos en la tabla de registro cronológico en el día y hora dadas, el índice no se actualiza.
Debe planificar la indexación periódica con cuidado; la indexación de documentos de texto es una tarea que tarda y consume recursos. El tiempo empleado depende de muchos factores como, por ejemplo, el número de documentos de texto que se han añadido o cambiado desde la última actualización del índice, el tamaño de los documentos y la potencia del procesador.
>>-MIN--(--docsmín--)--D---(--+-*------------+---)---H----------> | .-,-------. | | V | | '----0...6---+-' .-,---------. V | >----(--+-*-------------+---)---M---(-----0...59---+---)------->< | .-,--------. | | V | | '----0...23---+-'
Ejemplo: min(100) d(1,2,3,4,5) h(12,15) m(0)
Si, a las 12:00 o a las 15:00, de lunes a viernes, hay como mínimo 100 documentos en cola, el índice se actualiza.
Puede combinar varias especificaciones de frecuencia:
Ejemplo: min(1) d(*) h(22) m(0) ; min(100) d(1,2,3,4,5) h(12,15) m(0)
La actualización del índice está planificada de lunes a viernes a las 12:00 y 15:00 como antes pero, además, cada día a las 22:00 se actualiza el índice incluso si sólo hay un documento de texto en la tabla de registro cronológico.