Caso de ejemplo: Indexación y búsqueda
Después de haber instalado y configurado Db2 Text Search, hay cuatro pasos que debe seguir antes de realizar búsquedas.
- Inicie los servicios de instancia de Db2 Text Search .
- Prepare la base de datos para que la utilice Db2 Text Search.Habilite la base de datos y utilice el procedimiento de configuración para completar la asociación del servidor de búsqueda de texto. Debe habilitar la base de datos sólo una vez para Db2® Búsqueda de texto. El procedimiento de configuración es necesario en estos casos:
- La habilitación ha finalizado
- Para bases de datos con particiones
- Para configuraciones de servidor de búsqueda de texto autónomo.
- Cree un índice de búsqueda de texto en una columna que contenga o que vaya a contener texto en el que desea buscar.
- Llene de datos el índice de búsqueda de texto. Esta acción añade datos al índice de búsqueda
de texto vacío recién creado.
Para configurar actualizaciones automáticas para los índices de búsqueda de texto de acuerdo con las frecuencias de actualización especificadas, consulte el tema sobre la planificación de una actualización de índice de DB2 Text Search.

Escenario básico
db2ts START FOR TEXT db2ts ENABLE DATABASE FOR TEXT db2ts CREATE INDEX myschema.productindex FOR TEXT ON product(name) db2ts UPDATE INDEX myschema.productindex FOR TEXT db2 "SELECT pid FROM product WHERE CONTAINS (name, 'snow shovel') = 1"Escenario de coexistencia para DB2 Text Search y Net Search Extender
Si una base de datos ya está habilitada para Net Search Extender y desea utilizar Text Search en dicha base de datos, puede utilizar la característica de coexistencia de índices para consultar la base de datos.
Inicie la base de datos para la búsqueda de texto.
db2ts start for text
DB20000I The SQL command completed successfully. Habilite Text Search para una base de datos que ya contenga índices de Net Search Extender.
db2ts enable database for text
CIE00001 Operation completed successfully
Cree y actualice un índice de DB2 Text Search en una columna que tenga un índice de Net Search Extender.
db2ts "CREATE INDEX db2ts.title_idx FOR TEXT ON books(title)"
CIE00001 Operation completed successfully.
db2ts "UPDATE INDEX db2ts.title_idx FOR TEXT"
CIE00001 Operation completed successfully. Active el nuevo índice de DB2 Text Search para cambiar el proceso de consultas del índice NSE al nuevo índice.
db2ts "ALTER INDEX db2ts.title_idx FOR TEXT SET ACTIVE"
CIE00001 Operation completed successfully.
Emita una consulta para utilizar el índice de DB2 Text Search.
db2 "select isbn, title from books where contains(title,'top')=1"
ISBN TITLE
-------------- -------------------------------------
123-014014014 Climber's Mountain Tops
111-223334444 Top of the Mountain: Mountain Lore
2 record(s) selected. No se da soporte a consultas que intentan utilizar ambos tipos de índice. Por ejemplo, aquí la columna de título tiene un índice de DB2 Text Search activo, mientras que la columna bookinfo
tiene un índice de Net Search Extender activo. La búsqueda devolverá un error porque
todos los índices de texto de una consulta deben tener el mismo tipo de índice.
db2 "select isbn, title from books where contains(title, 'top')=1 and
contains(bookinfo, '" MOUNTAIN "')=1"
ISBN TITLE
------------------ ----------------------------------------------
SQL20425N Column "BOOKINFO" in table "BOOKS" was specified as an argument to
a text search function, but a text search index does not exist for the column.
SQLSTATE=38H12
Para evitar este error, cree un índice de DB2 Text Search en la columna bookinfo y actívelo.
db2ts "CREATE INDEX db2ts.bookinfo_idx FOR TEXT ON books( bookinfo )"
CIE00001 Operation completed successfully.
db2ts ALTER INDEX db2ts.bookinfo_idx FOR TEXT set active
CIE00001 Operation completed successfully.