miércoles, 25 de enero de 2017

Consultas de índices de texto en SQL SERVER - 1 de 2



SQL Full-Text Filter Daemon Launcher

Permite realizar búsquedas en las tablas de datos. Es muy potente y rápido para buscar en una base de datos documental, ya que no solo realiza búsquedas exactas por palabras y caracteres, sino también por aproximación e incluso sinónimos (solo para palabras en inglés). Esto se realiza mediante catálogos de texto, estos catálogos, contienen a su vez índices de texto, los cuales tienen las palabras características de cada tabla.
Para que una tabla pueda estar en un índice de texto, a de tener una sola clave principal, no admitir nulos. Además solo podemos indexar en campos de tipo texto ya que realiza búsquedas por caracteres y palabras.

Ahora llevemos la teoría a la práctica con un pequeño ejemplo que te proporcionará los conocimientos necesarios para trabajar según las necesidades reales.

Antes de iniciar asegurate que el servicio MSSQLFDLauncher esté iniciado.



Ejemplo:  Como crear un catálogo de texto

1. Creamos la tabla con sus campos, un campo principal que no admita nulos, y los campos que van a ser indexados para los catálogos tipo carácter.

CREATE DATABASE BDLIBROS
GO
USE BDLIBROS
GO
CREATE TABLE Libros
(Identidad int identity(1,1) constraint PK_Libros primary key
,Titulo nvarchar(100) null
,Descriptores nvarchar(100) null
,Comentario nvarchar(100) null)


2. Introducimos los datos que va a contener la tabla.

insert into Libros (Titulo,Descriptores,Comentario)
values ('LA COLMENA','FICCION ESPAÑA DRAMA','MUY BUENO')
insert into Libros (Titulo,Descriptores,Comentario)
values ('HISTORIA DE ROMA','ENSAYO ITALIA HISTORIA','MUY INTERESANTE')
insert into Libros (Titulo,Descriptores,Comentario)
values ('METAFISICA','ENSAYO GRECIA FILOSOFIA CLASICA','INTERESANTE')
insert into Libros (Titulo,Descriptores,Comentario)
values ('EL NOMBRE DE LA ROSA','FICCION EDAD MEDIA INTRIGA','MUY BUENO')
insert into Libros (Titulo,Descriptores,Comentario)
values ('LA REPUBLICA','ENSAYO GRECIA FILOSOFIA CLASICA','INTERESANTE')
insert into Libros (Titulo,Descriptores,Comentario)
values ('VISUAL BASIC NET PARA NIÑOS','REFERENCIA INFORMATICA PROGRAMACION','REGULAR')
insert into Libros (Titulo,Descriptores,Comentario)
values ('EL PERFUME','FICCION INTRIGA','MUY BUENO')
insert into Libros (Titulo,Descriptores,Comentario)
values ('INNER JOIN POR LAS MAÑANAS','REFERENCIA INFORMATICA PROGRAMACION','REGULAR')


3. En la tabla que hemos creado, pulsamos botón derecho y seleccionamos:

Índice Full-Text -> Definir índice Full-Text



4. Se ejecutará el Asistente para indización de texto. Clic en siguiente.


5. Seleccionamos el índice de la tabla, necesario para realizar las búsquedas. Clic en siguiente.


6. Seleccionamos las columnas de texto sobre las que se realizarán los catálogos de búsqueda. Clic en siguiente.


7. En la siguiente ventana seleccionamos "Automático" para el seguimiento de cambios. Clic en siguiente.


8. Ingresamos un nombre para el catologo. En este ejemplo se llamará "Libros-FullText". Clic en siguiente.


9. En esta ventana realizamos un clic en siguiente, dado que al ser una función opcional para este ejemplo no lo utilizaremos.
Pero debes saber que se usa para programar el llenado de los catálogos de texto, por si la información que contienen las tablas se actualiza.


10. Ya se ha completado los pasos necesarios para indizar la tabla “Libros”. Clic en Finalizar para crear el catalogo. 
Aparecerá una pantalla en la que iremos viendo como se van realizando los pasos para indizar el tabla e introducirla en el catálogo.
Luego clic en cerrar.




Hasta aquí hemos creado el catalogo de texto para nuestras búsquedas. 
Te invito a seguirnos en la segunda parte donde utilizaremos las sintaxis SQL para las busquedas.



Espero haber ayudado en algo. Hasta la próxima oportunidad!










  

No hay comentarios:

Publicar un comentario en la entrada