Creación y uso de catálogos en Full Text Search

Clase 18 de 31Curso de Optimización de Bases de Datos en SQL Server

Resumen

La búsqueda de texto completo o full text search es una herramienta potente que permite hallar información precisa dentro de grandes volúmenes de texto. En esta ocasión, te llevaré a través de la creación y utilización de un catálogo de texto completo, explorando un ejemplo muy práctico que puede aplicarse a bases de datos y a archivos como documentos Word. Enfocándonos en SQL y los pasos necesarios para configurar esta funcionalidad, te mostraré cómo esta tecnología puede simplificar y hacer más eficientes tus búsquedas, y cómo mantenerte al día frente a los cambios en la información.

¿Cómo se crea un catálogo para el full text search?

Para comenzar con el full text search, es necesario tener una tabla de origen - en este caso, se trabajará con Usuarios Source – que ya debería haberse creado en clases anteriores. Siguiendo estos pasos en la base de datos Platzi, se crea un catálogo:

  • Accede a la base de datos, y luego a Storage > Full Text Catalogs.
  • Haz clic derecho y selecciona New para crear un nuevo catálogo.
  • Asigna un nombre a tu catálogo y créalo.

Una vez creado, estarás en condiciones de agregar tablas al catálogo. Para nuestro ejemplo, se añadirá la tabla Usuarios Source, teniendo en cuenta que solo se pueden incluir columnas de tipo texto.

¿Cómo actualizar o reconstruir el catálogo de full text?

Importante señalar que la actualización del catálogo no es automática, especialmente cuando manejamos grandes cantidades de información. Es posible que necesitemos actualizarlo manualmente:

  • Haz clic derecho en el catálogo.
  • Elige la opción Rebuild para reconstruirlo con la información más reciente.

Cabe destacar que esta acción solo es necesaria en situaciones excepcionales, por ejemplo, si detectamos que hay algún fallo o que la información no se actualizó correctamente.

¿Cómo funciona la búsqueda en el catálogo de full text?

Con el catálogo ya configurado, realizaremos búsquedas inteligentes. Por ejemplo:

  • Para buscar todos los nombres que contengan "Marco", usaríamos WHERE CONTAINS(nombre, 'Marco').
  • Para realizar una búsqueda freetext con los términos "Alberto" y "Castro", usaríamos WHERE FREETEXT(nombre, 'Alberto, Castro').

Estas búsquedas devuelven resultados relevantes, independientemente del orden de los términos en la consulta.

¿Cómo se extiende la búsqueda a documentos y otros archivos?

El full text search también se extiende a la búsqueda dentro de archivos, como documentos Word. Para hacerlo, se debe:

  • Crear una tabla específica para archivos, en este caso documentos, que incluirá columnas para el ID, nombre, contenido (donde se almacena el documento) y la extensión del archivo.
  • Insertar datos en la tabla documentos, incluyendo ejemplos como "Platzi", "prueba full text search", "Carlos", entre otros.

Agregar la tabla documentos al catálogo de texto completo es un proceso similar al de las tablas de texto, asignando el tipo de documento y el idioma si es necesario.

¿Qué sigue después de configurar el full text search?

Una vez configurado el full text search y puestos en práctica ejemplos de búsqueda, el próximo paso es experimentar creando búsquedas más complejas y personalizadas. Te animo a utilizar el manual completo que encontrarás en los enlaces del curso y a asumir el reto de crear tu propio catálogo, diseñando búsquedas que se ajusten a tus necesidades particulares. Recuerda que tu aprendizaje es un viaje continuo, y enfrentar estos retos te colocará en una posición de ventaja para administrar y extraer valiosos conocimientos de tus bases de datos. ¡Adelante con tu práctica y que tus búsquedas sean siempre fructíferas!