Full text search

Solo disponible en BuenasTareas
  • Páginas : 7 (1727 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de agosto de 2010
Leer documento completo
Vista previa del texto
FULL-TEXT SEARCH – SQL SERVER

Introducción
En SQL Server como en cualquier otro sistema gestor de bases de datos podemos realizar búsquedas en nuestras tablas a través del lenguaje SQL. Cuando queremos encontrar una palabra en un campo ‘char’ o ‘varchar’ basta con realizar una consulta en la que pongamos nuestra condición en la cláusula WHERE para cualificar las filas deseadas. Esto casisiempre es suficiente, pero hay casos en los que es necesario realizar búsquedas más complicadas. Por ejemplo búsquedas que incluyan dos o más palabras, o que proporcionen resultados ordenados según el peso que le damos a las palabras buscadas, o que busquen en catálogos enormes con cientos de miles de filas…
En estos casos el motor de la base de datos que realiza estas búsquedas no es el másadecuado por varias razones: el código SQL para obtener los resultados deseados puede llegar a complicarse mucho, las búsquedas se pueden eternizar porque obligamos al motor de la base de datos a analizar cada fila y todas las palabras que hay en cada fila, hacer búsquelas de grupos de palabras es muy costoso…
Es aquí donde el servicio Microsoft Search viene en nuestra ayuda.
El Servicio MicrosoftSearch
El Servicio Microsoft Search es un motor de indexación y de búsqueda de texto que permite al SQL Server realizar consultas de texto eficaces y sofisticadas sobre columnas que almacenan datos basados en caracteres.
Entre las diferencias existentes entre este servicio y las búsquedas que utilizan el operador LIKE podemos citar las siguientes:
• Se almacenan en el sistema de archivos y noen la base de datos, aunque es la base de datos quien los administra.
• Sólo se permite un índice de texto por cada tabla.
• Si se desea agregar datos a los índices de texto hay que realizar un llenado manual o programado (También se pueden llenar automáticamente en la inserción de datos).
• Son más rápidos y flexibles.
La utilización del servicio Microsoft Search tendrá dosvertientes. En primer lugar tenemos que crear los índices de texto en las tablas deseadas y llenarlos, y en segundo lugar el servicio realizará las búsquedas y devolverá conjuntos de resultados adecuados al criterio de búsqueda.
Pero antes de utilizar este servicio tenemos que instalarlo. El motor de texto se ejecuta como un servicio denominado Microsoft Search en Windows NT Server, Windows 2000 y Windows2003 Server y también se puede instalar durante la instalación del SQL Server (No está disponible para la versión SQL Server Personal).
Para saber si este servicio está instalado en nuestro equipo la manera más sencilla es recurrir al ‘Administrador de Servicios’ del SQL Server

Donde podemos ver si el servicio está instalado y además podemos iniciar o detenerlo a voluntad.
Catálogos detexto
Se llama catálogo de texto al lugar físico donde se almacenan los índices de texto de una base de datos. Cada catálogo puede satisfacer las necesidades de indexación de varias tablas de una base de datos.
Estos catálogos de texto se deben ubicar en una unidad de disco local asociada a la instancia de SQL Server (Las unidades extraíbles, los disquetes y las unidades de red no sirven).
Encada servidor pueden crearse hasta 256 catálogos de texto
Índices de texto
Los índices de texto se vinculan a una columna de una tabla. Un primer requisito es que la tabla en cuestión tiene que tener un índice exclusivo, que debe ser lo más pequeño posible para reducir los recursos utilizados por el servicio Microsoft Search.
Este índice que creamos sobre una columna de texto almacenaráinformación sobre cada palabra que contiene la columna y su ubicación dentro de la tabla.
Los índices se pueden actualizar (como los índices normales del SQL Server) al modificar los datos de la tabla, o se pueden llenar a intervalos regulares.
Estos procesos de llenado se suelen realizar de forma asíncrona y en segundo plano porque consumen tiempo y recursos.
Creación de un catálogo y un índice en...
tracking img