5-Habilitar la columna que contendrá las palabras a buscar
El procedimiento almacenado ‘sp_fulltext_column’ especifica si una columna particular de una tabla participa en la indización de texto.
Habilitemos la columna ‘ProductName’
sp_fulltext_column 'Products', 'ProductName', 'add'
6-Activar la tabla
Con el procedimiento almacenado visto anteriormente ‘sp_fulltext_Table’ activamos la tabla con la que estamos trabajando para poder llenarla.
sp_fulltext_Table 'Products', 'Activate'
7-Llenar el catálogo
Y un último paso es rellenar el catálogo que tenemos con los datos de la tabla que participa de la indización.
El procedimiento almacenado que lo hace por nosotros es ‘sp_fulltext_catalog’ que ya comentamos anteriormente. Se puede utilizar para rellenar un catálogo completamente o para iniciar un rellenado incremental.
En este ejemplo queremos realizar un llenado completo porque por ahora esta vacío.
sp_fulltext_catalog 'Ingredientes','start_full'
y por fin hemos acabado de crear el catálogo de texto y lo tenemos operativo. Ahora sólo falta utilizarlo.
8-Comprobar que funciona
Un último paso es ejecutar una sentencia sencilla que utilice el catálogo recién creado para comprobar que funciona.
SELECT * FROM products WHERE CONTAINS(ProductName,'queso')
y esta sentencia nos devuelve todas las filas que contienen la palabra queso.
9-Modificar las tablas
Insertemos un par de filas nuevas en la tabla productos.
INSERT INTO Products VALUES('Queso fresco de Burgos', 5, 4, '1 kg pkg', 12, 30, 0, 0, 0)
INSERT INTO Products VALUES('Quesitos de la abuela', 5, 4, '8 porciones', 41, 10, 0, 0, 0)
Si ahora repetimos la búsqueda de antes veremos que este nuevo queso no aparece en los resultados. Hace falta reconstruir el catalogo de texto
10-Rellenar el catalogo de manera incremental
Ejecutamos el mismo procedimiento almacenado que en el paso 7 pero ahora para rellenar el catálogo sólo con las filas que han sido creadas desde entonces.
sp_fulltext_catalog 'Ingredientes', 'start_incremental'
y ahora con el catálogo actualizado podemos ejecutar otra vez el
SELECT * FROM products WHERE CONTAINS(ProductName,'queso')
para ver que ahora sí obtenemos la fila insertada en el paso 9
Nuestro catálogo está creado y funcionando. Ahora hay que averiguar como le sacamos partido a estos catálogos de texto.
Usuarios que han visto este tema también han visto...
- Tipos de datos en SQL
- Convertir números a diferentes bases con SQL
- Consultas de Union Internas
- Subconsultas en SQL
- Las Interrelaciones
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.