# Spotlight (Software)

Spotlight ist eine von Apple entwickelte Desktopsuche für macOS und iOS. Sie ist darauf ausgelegt, möglichst schnell Dateien des Benutzers zu finden, unter anderem Dokumente, Bilder, Musik, Programme, Kontakte, Mails, und viele weitere Dateien. Spotlight basiert auf Indizes, die es für alle verfügbaren Datenträger anlegt und transparent aktualisiert. Jede Datei wird zusammen mit ihren Metadaten indiziert. Sobald der Benutzer eine Suche anfängt, werden die Indizes der Datenträger auf passende Ergebnisse hin durchsucht (Vorschlagssuche).
Spotlight wurde auf der WWDC 2004 vorgestellt und im April 2005 zusammen mit Mac OS X Tiger ausgeliefert.
Eine erneuerte Version von Spotlight wurde auf der WWDC 2014 als Teil von OS X Yosemite vorgestellt.
Apple bietet zwei APIs für Spotlight, eine zum Suchen von Dateien (SearchKit) und eine zum Erstellen von Spotlight-Import-Modulen (auf verschiedene Cocoa-Frameworks verteilt).

## Suche in Mac OS X vor Tiger

Von Mac OS 8.5 bis Mac OS X Panther diente ein Programm namens Sherlock zum Suchen von Dateien. Der Such-Code war aus dem Programm AppleSearch übernommen worden, das Apple Anfang der 1990er entwickelt hatte.
Im März 2002 stellte Apple den Entwickler und Dateisystem-Designer Dominic Giampaolo ein, um Spotlight zu entwickeln. Auf der Keynote der WWDC 2004 wurde Spotlight zum ersten Mal der Öffentlichkeit vorgestellt. Sherlock wurde nicht weiter unterstützt; Stand Ende 2010 waren fast alle der Dienste von Sherlock nicht mehr verfügbar.

## Funktionsweise

Spotlight ist in zwei Komponenten aufgeteilt: zum einen das Backend mit dem Metadaten-Server und zum anderen alle Clients (Programme, die auf den Index zugreifen).

### Das Backend

Das Spotlight-Backend besteht aus dem Daemon mds (Metadata Server, wird mit dem System gestartet) und mdworker (wird beim Anmelden gestartet; eine Instanz pro Benutzer). Der Metadaten-Server wird aktiv, wenn er von Clients angesprochen wird, oder wenn Dateien angelegt oder verändert werden. Informationen über die Dateien auf angeschlossenen Festplatten und USB-Medien (CDs/DVDs werden nicht indiziert, da auf den Datenträgern kein Index angelegt werden kann) erhält der Metadaten-Server über den Daemon mdimport. Dieser versucht, für den Typ der Datei einen Importer zu bekommen. Der Importer muss dann die Datei auf ihre Metadaten hin untersuchen und gibt dann eine Sammlung von Metadaten für die Datei an den Server zurück, der diese Informationen im Index abspeichert.
Beim ersten Start des Betriebssystems werden alle Dateien einmalig indiziert. Das dauert einige Zeit, danach ist Spotlight einsatzbereit, und alle Änderungen am Index geschehen von da an inkrementell und im Hintergrund. Wenn das System feststellt, dass der Datenträger von einem System unter Mac OS X 10.4 oder einem Nicht-Mac-System verändert wurde, wird der Index verworfen und neu aufgebaut.

### Benutzerschnittstellen

In der oberen rechten Ecke befindet sich ein Icon mit einer Lupe. Ein Klick darauf öffnet das Spotlight-Menü. Es kann auch durch einen Tastatur-Shortcut geöffnet werden, standardmäßig ist das cmd+Leertaste. Im Spotlight-Menü kann der Benutzer eine Suchanfrage eingeben. Spotlight versucht daraufhin, Dateien zu finden, die am besten zu der Anfrage passen. Die Reihenfolge der Ergebnisse kann in den Systemeinstellungen festgelegt werden. Dabei gibt Spotlight nur Dateien zurück, für die der Benutzer eine Leseberechtigung hat.
Die Suche nach Dateien ist auch über den Finder zu erreichen. Dort kann nach Dateiname oder Inhalt gesucht werden und der Nutzer kann festlegen, ob nur im aktuellen Ordner oder auf der ganzen Festplatte gesucht werden soll. Weiterhin können zusätzliche Bedingungen für die Suche festgelegt werden (z. B. „zuletzt geöffnet: gestern“ oder „Dateityp: Bild“). Jede Spotlight-Suche kann auch als sogenannte „intelligente Suche“ (Smart Search) gespeichert werden; dabei wird die Abfrage mit allen Parametern gespeichert, nicht jedoch die Ergebnisse. Diese gespeicherten Suchen können später einfach wieder aufgerufen werden; sie liefern dann das jeweils aktuelle Ergebnis zum Zeitpunkt des Aufrufs.
Standardmäßig werden Spotlight-Anfragen mit mehreren Begriffen so behandelt, als sei zwischen jeden Begriff der boolesche Operator UND gestellt. Bei Verwendung des API kann auch eine Anfrage in Textform gestellt werden, dabei können auch Vergleichsoperatoren aus C verwendet werden (<, >, <=, >=, ==, !=) sowie logische Operatoren (||, &&) und Wildcards (*). Bei Text-Anfragen in der Benutzeroberfläche (per Spotlight-Menü) können nur die booleschen Operatoren OR und NOT verwendet werden.
Apple bietet Entwicklern ein API für den Zugriff auf den Spotlight-Index (SearchKit). In Kombination mit eigenen Importern für bestimmte Dateitypen kann ein Entwickler damit auch komplexe Spotlight-Suchen in seinem Programm ermöglichen. Ein Beispiel dafür ist etwa das Mail-Programm von Apple, das einen eigenen Spotlight-Importer besitzt (zum Auslesen der Metadaten in E-Mails) und es dem Benutzer ermöglicht, sein gesamtes Mail-Archiv nach ebendiesen Metadaten zu durchsuchen. Ein weiteres Beispiel sind die Systemeinstellungen: wenn der Benutzer z. B. nach „Tasten“ sucht, werden als Ergebnisse u. a. die Maus- oder Tastatureinstellungen angeboten.
Lokal installierte Programme, die Spotlight findet, können direkt aus der Ergebnisliste heraus gestartet werden.
Jeder Benutzer kann in den Systemeinstellungen festlegen, ob es Ordner oder Datenträger gibt, die Spotlight nicht durchsuchen soll; ebenso kann jeder Nutzer festlegen, welche Kategorien von Dateien er im Spotlight-Menü sehen möchte, und in welcher Reihenfolge sie auftauchen sollen.
Apple liefert mit Mac OS X vier Kommandozeilen-Tools für Spotlight mit, die auch unter Darwin verwendet werden können:
* mdutil: ermöglicht es dem Nutzer, den Index für einzelne Datenträger an- und abzuschalten oder ihn zu verwerfen.
* mdimport: Neben dem automatischen Aufruf für jede Datei durch den Metadaten-Server können Benutzer Dateien mit diesem Tools manuell zum Index hinzufügen.
* mdfind: Ausführen von Spotlight-Anfragen auf der Kommandozeile.
* mdls: Listet die Metadaten-Attribute für eine angegebene Datei auf.

### Neuerungen in 10.5 (Leopard)

Mit Mac OS X Leopard kamen einige Neuerungen in Spotlight hinzu.
Wenn ein anderer Mac Dateien im Netzwerk freigibt, können diese per Spotlight durchsucht werden. Boolesche Operatoren werden jetzt offiziell unterstützt, zudem können mit Klammern verschachtelte Suchanfragen erstellt werden. Mit Apple Safari besuchte Webseiten werden ebenfalls indiziert; die URL, die Metadaten und der Inhalt der Webseite werden dabei gleichermaßen indiziert. Es ist möglich, im Spotlight-Menü Berechnungen durchzuführen oder Wörter im integrierten Oxford-Wörterbuch nachzuschlagen; dazu müssen der Rechenterm oder das Wort in das Suchfeld eingegeben werden.

### Neuerungen in 10.7 (Lion)

In Mac OS X Lion wurde das Spotlight-Menü erweitert, nicht jedoch Spotlight an sich.
Man kann aus dem Spotlight-Menü heraus direkt eine Suchanfrage im Internet oder in der Wikipedia starten, zudem kann für viele Dateien (z. B. Texte, Bilder, PDFs, aber auch Wörterbuch-Ergebnisse) direkt eine Vorschau angezeigt werden.

### Neuerungen in 10.10 (Yosemite)

Eine erneuerte Version von Spotlight wurde auf der WWDC 2014 als Teil von OS X Yosemite vorgestellt. Die Vorschlagssuche beinhaltet jetzt Wikipedia-Zugriff und Kartenanzeige. Die Funktion ist jedoch in vielen Regionen außerhalb Westeuropa und angelsächsischen Ländern nicht verfügbar.

### Neuerungen in 10.11 (El Capitan)

Neu hinzugekommen war in El Capitan die Möglichkeit, Suchanfragen an Spotlight in gewissen Grenzen in natürlicher Sprache zu formulieren. Beispielsweise kann Spotlight nach „E-Mails von Peter“ oder nach „E-Mails gestern“ suchen und in den Suchergebnissen die anderen Dateitypen und die zu anderen Zeitpunkten bearbeiteten Dateien ausfiltern. Auch die Mac App Store kann durchsucht werden. Auch Umrechnungen von Währungen oder von Temperaturwerten sind in Spotlight möglich.

## iOS

Seit iOS 3.0 (vormals: iPhone OS) besitzt das System ebenfalls eine Suche, die Spotlight genannt wird. Sie war bis iOS 6 links des ersten Homescreens zu finden. Seit der Einführung des Betriebssystems iOS 7 im Jahr 2013 ist die Spotlight-Suche durch eine Wischgeste von der Mitte eines beliebigen Screens aus nach unten zu aktivieren.
Der Suchumfang ist drastisch reduziert, es können im Grunde nur die Liste der installierten Apps sowie Daten aus den mitgelieferten Apps durchsucht werden (Apps, Kontakte, Nachrichten, Musik etc.), allerdings können aus dem Spotlight-Bildschirm heraus ebenfalls Internet-Suchanfragen und Wikipedia-Suchen gestartet werden. Die Suche in einigen integrierten Apps (z. B. Nachrichten oder Mail) basiert ebenfalls auf Spotlight.