IBM Books
(C) IBM Corp. 2000

Manual de administración y del usuario de DB2 Net Search Extender


Ejemplo simple utilizando la función de búsqueda escalar SQL

Utilice los siguientes pasos del ejemplo de DB2 Net Search Extender:

  1. Creación de una base de datos
  2. Habilitación de una base de datos para búsquedas de texto
  3. Creación de una tabla
  4. Creación de un índice de texto completo
  5. Carga de los datos de ejemplo
  6. Sincronización del índice de texto
  7. Búsqueda con el índice de texto

Puede emitir los mandatos de ejemplo en la línea de mandatos del sistema operativo utilizando la base de datos existente. Para los ejemplos siguientes, el nombre de la base de datos es ejemplo.

Creación de una base de datos
Puede crear una base de datos en DB2 utilizando el mandato siguiente:
db2 "create database sample"

Habilitación de una base de datos para la búsqueda de texto
Puede emitir mandatos de DB2 Net Search Extender de la misma manera que emitiría mandatos DB2 en la línea de mandatos del sistema operativo. Por ejemplo, utilice el mandato siguiente para iniciar Net Search Extender Instance Services:
db2text "START"

Utilice el mandato siguiente para preparar la base de datos para que se utilice en DB2 Net Search Extender:

db2text "ENABLE DATABASE FOR TEXT CONNECT TO ejemplo"

Sólo es necesario efectuar este paso una vez para cada base de datos.

Creación de una tabla
db2 "CREATE TABLE libros (isbn VARCHAR(18) not null PRIMARY KEY,
      autor VARCHAR(30), tema LONG VARCHAR, year INTEGER)"

Este mandato de DB2 crea una tabla denominada libros. Contiene las columnas correspondientes al autor, el tema, el número de isbn y el año de publicación del libro.

Creación de un índice de texto completo
db2text "CREATE INDEX db2ext.miIndiceTexto FOR TEXT ON libros (tema)
        CONNECT TO ejemplo"

Este mandato crea un índice de texto completo para la columna tema. El nombre del índice de texto es db2ext.miIndiceTexto

Carga de los datos de ejemplo
db2 "INSERT INTO libros VALUES ('0-13-086755-1','Juan', 'Un hombre
     corría por la calle',2001)"
db2 "INSERT INTO libros VALUES ('0-13-086755-2','Miguel', 'El gato caza
     ratones', 2000)"
db2 "INSERT INTO libros VALUES ('0-13-086755-3','Pedro', 'Había algunos
     hombres de pie junto a la mesa',1999)"

Estos mandatos cargan la información de isbn, autor, tema y año de publicación de estos libros en la tabla.

Sincronización del índice de texto
Para actualizar el índice de texto con datos de la tabla ejemplo, utilice el mandato siguiente:
db2text "UPDATE INDEX db2ext.miIndiceTexto FOR TEXT CONNECT TO ejemplo"

Búsquedas con el índice de texto
Para buscar en el índice de texto, utilice la siguiente función de búsqueda escalar CONTAINS:
db2 "SELECT autor, tema FROM libros WHERE CONTAINS
    (tema, '\"gato\"') = 1 AND YEAR >= 2000"
Nota

Según el shell del sistema operativo que esté utilizando, puede que tenga que usar un carácter de escape diferente delante de las comillas dobles que rodean la frase de búsqueda de texto. El ejemplo anterior utiliza "\" como un carácter de escape.

Esta consulta busca todos los libros sobre el término gatos publicados a partir del año 2000 (inclusive). La consulta devuelve la siguiente tabla de resultados:

AUTOR     TEMA
Miguel  El gato caza ratones.

Entre otras funciones soportadas están SCORE y NUMBEROFMATCHES. SCORE devuelve un indicador que especifica la exactitud con que el argumento de búsqueda describe el documento hallado. NUMBEROFMATCHES devuelve cuántas coincidencias de los términos de consulta se han encontrado en un documento resultante.


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