Spotlight(スポットライト)

米Appleより開発、提供等が行われているデスクトップ検索テクノロジー(メタデータ検索)。macOS(Mac OS X)、iOS、iPadOSを対象プラットフォームとし、米国時間2005年4月29日付にてリリースされた「Mac OS X 10.4 Tiger」において中核機能の一つとして新たに実装された。機能の実装には、BeOSのファイルシステム「BFS(Be File System)」、macOSのファイルシステム「APFS(Apple File System)」の開発にも尽力したDominic Giampaolo(ドミニク・ジャンパオロ)氏が携わっており、独立したアプリケーションではなく、システムレベルで統合されている。

メタデータ検索とインクリメンタルサーチにて、広範にして高速な検索を実現

macOSの実行時には常時バックグラウンドにてmdsエンジンが稼働しており、クエリー用のAPIが整備されている事からも、システム構造上はBSDレイヤーよりも低位に属するコアに近い機能と解釈する事ができる。メニューバーの右側に配置されているマグニファインググラス(ルーペ、虫眼鏡)アイコンは検索機能のフロントエンドに相当し、一方ではSpotlightの機能にアクセスする事が可能なUNIXコマンド(「mdfind」「mdls」)も用意されている。

Spotlightの検索ボックス
「Mac OS X 10.4 Tiger」における「Spotlight」の検索ボックス(検索語入力フィールド)

従来まで用いられていたファイル名や修正日等に基づくレガシーな検索機能に加えて、種々のメタデータを含むファイルの内容にまで着目したインテリジェンスな検索の実行を可能としている。このメタデータとは、データ自身について、ファイル名とは別にデータに関する補足、属性等が記述されたデータと定義する事ができ、これには、EXIF(Exchangeable image file format)情報、ID3タグ、フォーマット、エンコードソフトウェア、コーデック、データレート、サンプリングレート、ビットレート、テキストエンコーディング、ジェネレーター(作成アプリケーション)等、様々な情報が含まれる(画像データのメタ情報は、macOS標準の「Photo.app」や「Adobe Photoshop Lightroom」等で確認する事も可能)。

尚、メタデータの「メタ」は、ギリシャ語で「~について」「超越する」「~の上の」等、様々な意味と使い方があるが、メタデータにおける「メタ」は「~について」、英語における「about」と同義であると解釈する事ができる。つまり抽象的ではあるが、メタデータとはデータ自体の表現や記述に使用されるデータを指しており、表現される側のデータを対象データ、表現する側のデータをメタデータとして定義している。

また、検索クエリー入力の1文字追加毎に検索結果がドロップダウンにてリアルタイムに更新(絞り込み)されるインクリメンタルサーチや、mdworker(mdimporter)によるインデックス管理等によって高速なパフォーマンスを実現している他、永続的な検索結果をフォルダーレベルにて反映可能な「Smart Folder(スマートフォルダ)」機能の提供やプラグインを介した他アプリケーションに対する機能拡張モジュール(付加機能)としての組み込み等もサポートしている。

検索範囲は各種のローカルディスクのみならず、2007年10月26日付にてリリースされた「Mac OS X 10.5 Leopard」より、リムーバブルメディアやネットワーク上の共有ボリューム(フォルダー)を対象としたインデックスの作成にも対応している他、Wikipedia、Maps、News、Bing、iTunes Store、iBooks Store、App Store等、各種ネットワークサービスのコンテンツも検索対象としている(インデックス対象となるボリューム内であっても、アクセス権によって制限されている領域や不可視ファイル、及びバンドルパッケージ内のファイル等はメタデータ検索の対象には含まれない)。

また、「Finder」「System Preferences(システム環境設定)」、ナビゲーションサービス(米国時間1998年10月17日付にてリリースされた「Mac OS 8.5 Allegro」より導入され、各アプリケーションにおいて任意のファイルを開く(或いは保存する)場合に表示されるダイアログボックス)等、OSレベルで提供される各種のサービスに対しても その機能性を享受している。

「Mac OS X 10.4 Tiger」のナビゲーションサービス
「Mac OS X 10.4 Tiger」より導入された、Spotlight検索と連動したナビゲーションサービス。ここでの検索では細かな条件指定を行う事はできず、「OR検索」「NOT検索」も機能しない

また、アプリケーションレベルでは、Webブラウザー「Safari」における閲覧履歴(ヒストリー)、日本語対応を含む「Dictionary(辞書)」、「Mail(メール)」等にも対応している他、「Help(ヘルプ)」メニューに配置されている検索ボックスからは、各種のヘルプコンテンツを直接検索する事も可能としている(メニュー項目を検索対象に追加した事によって、検索クエリーを含む当該項目も併せてリストアップ可能)。

このように、プラグイン等の使用によって拡張される側だった「Sherlock(シャーロック)」とは異なり、Apple純正ソフトウェアのみならず、サードパーティーベンダーのソフトウェアに対する機能の組み込みにも対応している。

尚、「Finder検索」は「Mac OS X 10.3 Panther」以前のファイル検索における対象範囲にメタデータの要素を追加しただけの機能ではなく、検索条件の指定にも様々なメタデータの内容を個別に指定する事が可能となっており、検索結果のウインドウ内では、任意のファイルのパスを視覚的に確認する事も可能となっている。

Spotlightの検索結果
「Mac OS X 10.4 Tiger」における 検索結果の表示ウインドウ

ここでの検索結果は、項目別に分類されたドロップダウンリストで表示され、各種のドキュメント(イメージやPDF等)をクリックする事によって、サムネール(コンテンツのプレビュー表示)、更新時刻等、ファイル毎の詳細を確認する事も可能となっている。また、「Show all in Finder…(Finderにすべてを表示…)」をダブルクリック(或いはリターンキーを押下)する事によって、新規Finderウインドウでの表示にも対応している。

その後、米国時間2014年10月16日付にてリリースされた「OS X Yosemite(OS X 10.10)」ではインターフェイスが改良され、従来までメニューバー右端のルーペアイコン直下に表示されていた検索フィールドがデスクトップ中央に配置されてるべくした変更が適用された。

Spotlight検索を支えるインデックスファイル

当検索テクノロジーにおける特徴の一つである高速なレスポンスは、ルートディレクトリ直下の不可視フォルダー「/.Spotlight-V100/」以下(サブディレクトリ「Store-V1」「Store-V2」)に保存されているインデックスファイルによって齎されており、これはmacOS(Mac OS X)のインストール後、初回起動直後に自動的に作成される事となる(インポート(メタデータの収集、インデックス化)に要する時間は環境によって差が生じており、「Mac OS X 10.4 Tiger」リリース時には、特に「Mac OS X 10.3 Panther」以前からアップグレードした環境においては、数時間単位の所要時間も報告されていた)。

作成した索引に対しては「Terminal(ターミナル、/Applications/Utilities/Terminal.app)」を通じて「mdutil」コマンドを実行する事によって、各種の制御を行う事が可能となっている(要管理者権限)。これには、ストアされているインデックスの削除から再構築(-E)、任意のボリュームに対するインデクシング自体の有効化、無効化(-i)、ストアされているメタ情報のリストの出力(-L)、インデックスステータスの出力、インデックス範囲のカスタマイズ、索引対象か否かの確認、詳細情報の表示等が含まれる。

尚、インデックスの再構築後には、ファイルの追加、削除を繰り返した事によって生じていたインデックスの冗長化(フラグメンテーション)が解消され、インデックスファイルの容量が減少するケースもある。

Plug-in(プラグイン)による機能の組み込み

「Spotlight」は、特定のアプリケーションにて作成された独自形式のデータからメタデータを収集するための機能を2種のメソッドにて提供しており、一つは「/System/Library/Spotlight/」「/Library/Spotlight/」階層に属する Spotlightインポーター等のプラグインファイル(拡張子「mdimporter」)を参照させる形式、もう一つは「BathyScaphe」のようにアプリケーション本体に機能を統合する形式となっている。このように、プラグインを別途に提供する形をとれば、アプリケーションに対して後付けにてSpotlightの機能を付加する事も可能となっている。

「System Settings(システム設定)」、クイックアクションとの統合

米国時間2023年9月26日付にてリリースされた「macOS Sonoma(macOS 14)」より、Spotlightによる検索結果から各種の「System Settings(システム設定)」項目を制御する事が可能となった。この機能では、「Bluetooth」「Night Shift」「Focus(集中モード)」、音声コントロール等の機能を検索した際に、Spotlightの検索結果に各機能のトグルスイッチが表示され、そこからダイレクトに機能の有効化、無効化を設定する事が可能となっている。

米国時間2023年9月19日付にてリリースされた「iOS 17」「iPadOS 17」では、Spotlight検索と連動したクイックアクションを通じて「Cellular Data(モバイルデータ通信)」「Airplane Mode(機内モード)」等のシステム機能の有効化、無効化を設定する事が可能となっている他、「Mail(メール)」「Voice Memos(ボイスメモ)」「Notes(メモ)」「FaceTime」「Weather(天気)」「Books(ブック)」等の標準アプリケーションを制御する事も可能となっている。

また、「Calendar(カレンダー)」「Weather(天気)」等においては「yesterday(昨日)」「today(今日)」「tomorrow(明日)」「the day after tomorrow(明後日)」等の自然言語を用いたアプリケーションの制御(イベントの新規追加や天気予報の表示等)にも対応している(最終更新日 2024年12月30日)。