Metadatos de Spotlight. Spotlight es el indexador de búsqueda inteligente de Apple para macOS. Aquí te explicamos cómo utilizar sus utilidades de metadatos para obtener más información sobre tus documentos. Spotlight se ejecuta en segundo plano en tu Mac o dispositivo iOS y silenciosamente indexa y escanea el contenido de tus documentos, de modo que cuando buscas algo, puede encontrar resultados rápidamente. El principal daemon en segundo plano en Spotlight se llama corespotlightd, y puede consumir hasta un 8-10% de la CPU cuando se ejecuta a toda velocidad. En las Mac con Apple Silicon, corespotlightd puede ejecutar hasta cuatro hilos a la vez durante la indexación de fondo máxima. Si eres desarrollador de Apple, puedes agregar el marco Core Spotlight a tu aplicación y hacer que indexe automáticamente el contenido de tu aplicación internamente, para que esté disponible automáticamente para los usuarios de la aplicación. También existen API adicionales de Spotlight en el marco Foundation que te permiten realizar búsquedas locales en los datos de Spotlight desde tu aplicación. Además, querrás agregar el marco Core Services.framework a tu proyecto de Xcode, ya que es donde residen las API de metadatos de archivos. También hay características de Spotlight en iCloud que no cubriremos aquí. Agrega el marco CoreSpotlight.framework en Xcode. Configurar qué volúmenes se indexan En macOS, puedes indicar qué volúmenes quieres que Spotlight indexe y cuáles no. Por defecto, si no excluyes volúmenes de Spotlight, serán indexados. Si excluyes volúmenes del índice de Spotlight, su contenido no se mostrará en las búsquedas de Spotlight. Si tienes más de un volumen en la unidad de tu Mac, o si tienes discos externos conectados, puedes activar o desactivar Spotlight (y Siri) en cada uno. Para hacerlo, primero abre Preferencias del Sistema en macOS seleccionando Preferencias del Sistema desde el menú de Apple en la barra de menú del Finder. En el lado izquierdo de las Preferencias del Sistema, desplázate hacia abajo y haz clic en Siri y Spotlight. En el panel de Siri y Spotlight, puedes activar y desactivar Siri, establecer un atajo de teclado, configurar el idioma y cómo Siri maneja el historial. Debajo de eso está una sección de Spotlight. Aquí puedes establecer qué tipos de documentos deseas que indexe Spotlight. Si desactivas un tipo particular de documento o datos en esta sección, Spotlight ignorará todos los documentos o datos de esos tipos durante la indexación. Si te desplazas hasta el final del panel, verás un botón etiquetado como Privacidad de Spotlight. Haz clic para abrir la ventana de privacidad. Ajustes de Siri y Spotlight. La ventana contiene una lista de todos los volúmenes de almacenamiento que Spotlight está excluyendo actualmente de la indexación, que en la mayoría de los casos por defecto es ninguno o solo el Disco de Inicio. Para agregar o quitar volúmenes de la ventana de privacidad, puedes arrastrarlos dentro y fuera o hacer clic en los botones + o – debajo de la lista. La ventana de privacidad de Spotlight. Una vez que un volumen se añade a la lista, Spotlight deja de indexarlo. Cuando estés satisfecho con la lista de exclusión de privacidad, haz clic en Aceptar para cerrar la ventana. Cierra Preferencias del Sistema. Cuando corespotlightd indexa los datos de tus volúmenes, busca el contenido de los archivos, pero también busca e indexa los metadatos. Los metadatos pueden definirse como datos informativos asociados con los archivos, pero no contenidos dentro de los archivos mismos. Los metadatos incluyen (pero no se limitan a) cosas como la fecha de creación y última modificación del archivo, el tamaño, la versión, el tipo, el nombre y los comentarios del Finder que se muestran en las ventanas de Obtener información. Spotlight utiliza la API de metadatos de archivos en el marco de Servicios Básicos de Apple para encontrar y leer metadatos. Hay cuatro tipos principales de datos en la API de metadatos de archivos: MDSchema MDItem MDLabelDomain MDQuerySortOptionFlags No entraremos en todos los detalles de los tipos de datos, pero el principal tipo que almacena una referencia a un elemento del sistema de archivos y sus metadatos es el tipo MDItem. Usando un MDItem y las API de Servicios Básicos, puedes recuperar, ordenar y almacenar metadatos de elementos en sistemas de archivos locales. Importadores de Spotlight Si abres la carpeta /Library/Spotlight en el Disco de Inicio de tu Mac, es posible que notes uno o más archivos con una extensión .mdimporter. Estos son complementos de importación de metadatos de Spotlight. Por ejemplo, las aplicaciones Pages y la versión original de iBooks Author de Apple tienen complementos .mdimporter. También lo hacen algunas aplicaciones de Microsoft 365. Otras aplicaciones también los proporcionan. Puedes escribir complementos .mdimporter personalizados en Xcode de Apple, colocarlos en la carpeta /Library y Spotlight los utilizará para importar metadatos de archivos admitidos por tus aplicaciones. Los complementos .mdimporter son esencialmente paquetes de código e información que le dicen a Spotlight qué tipos de metadatos se pueden importar y cómo acceder a esos datos. Usando un complemento .mdimporter personalizado, puedes permitir que tu aplicación almacene metadatos adicionales y los proporcione a Spotlight para indexar. Apple también tiene un documento de desarrollo (algo más antiguo) titulado Guía de programación de importador de Spotlight que te muestra cómo escribir un .mdimporter. Complemento de Spotlight .mdimporter. Apple y terceros también proporcionan varias herramientas de línea de comandos (CLI) que puedes utilizar en la aplicación Terminal de macOS para acceder a metadatos de Spotlight en objetos de sistema de archivos almacenados en tus dispositivos. Spotlight almacena sus metadatos indexados en una base de datos local en cada volumen de disco montado. Las bases de datos de metadatos de Spotlight se llaman almacenes. Cada almacén contiene los metadatos indexados de cada objeto del sistema de archivos junto con algunos datos adicionales que hacen que las búsquedas de Spotlight sean rápidas. Al almacenar y actualizar los metadatos de archivo en una base de datos separada, Spotlight puede buscar y recuperar datos mucho más rápido, ya que no tiene que recorrer jerarquías de archivos cada vez. En volúmenes APFS, Spotlight también utiliza parte de los metadatos internos del volumen combinados con los metadatos del almacén para búsquedas más rápidas y precisas. Hay muchas utilidades de línea de comandos de Spotlight disponibles, pero las cuatro claves que probablemente querrás usar son: mdutil mdimport mdls mdfind Puedes obtener información sobre el uso de cualquiera de estos en Terminal abriendo Terminal, luego escribiendo man seguido de un espacio, el nombre de la utilidad y presionando Enter en tu teclado. Ten en cuenta que algunos comandos requieren un parámetro de sistema de archivos después del nombre del comando y otros no. Por ejemplo, mdutil no lo requiere, pero mdattributes sí. Para salir del sistema man (manual) en Terminal, presiona Control-Z en tu teclado. mdutil El comando mdutil es una utilidad sencilla que ayuda a gestionar los almacenes de metadatos de Spotlight en tu Mac. Ten en cuenta que un volumen debe estar montado en el Escritorio del Finder para que mdutil funcione en él. Por ejemplo, utilizando mdutil puedes activar y desactivar los almacenes de Spotlight para volúmenes específicos, deshabilitar búsquedas en ese volumen, borrar el almacén de un volumen, mostrar el estado de indexación de Spotlight para un volumen y más. También puedes aplicar comandos específicos a los almacenes de Spotlight en cada volumen indexado, y limpiar las cachés de almacenamiento de Spotlight para forzar el uso directo del almacén en sí. Escribe man mdutil y presiona Enter en tu teclado en Terminal para ver el uso completo de mdutil. mdimport mdimport es una utilidad de línea de comandos de Spotlight que te permite importar manualmente todos los metadatos buscables de una jerarquía de sistema de archivos en un almacén de metadatos de Spotlight. Utiliza los complementos .mdimporter mencionados anteriormente para importar y buscar datos. Puedes usar mdimport para imprimir todos los elementos de metadatos almacenados para cada elemento indexado en una jerarquía de sistema de archivos, excepto los elementos almacenados con la clave kMDItemTextContent ya que esos elementos contienen el contenido de texto real de los elementos del sistema de archivos. También puedes utilizar mdimport para probar los complementos .mdimporter que escribas tú u tu equipo. Escribe man mdimport y presiona Enter en tu teclado en Terminal para ver el uso completo de mdimport. mdls mdls es una utilidad que lista atributos de metadatos para un único archivo en disco utilizando una clave de metadatos predefinida (o ‘etiqueta’). Apple define la mayoría de las claves de metadatos utilizadas por Spotlight, pero si escribes tu propio .mdimporter, puedes definir tus propias claves. Escribe man mdls y presiona Enter en tu teclado en Terminal para ver el uso de mdls. mdfind mdfind es una utilidad flexible y potente que te permite encontrar todos los objetos en una jerarquía de sistema de archivos que coinciden con metadatos específicos que especifiques, buscando en el (los) almacén(es) de Spotlight en un volumen determinado. Utilizando varias opciones para mdfind, puedes iniciar una búsqueda en un lugar específico de una jerarquía de sistema de archivos, especificar qué elementos de metadatos coincidir, y especificar nombres de archivos concretos para coincidir. mdfind devolverá solo los resultados de archivos que coincidan con los criterios de búsqueda que especificaste. Puedes cancelar una búsqueda de mdfind mientras se está ejecutando escribiendo Control-C en tu teclado. También hay…